菜鸟教程小白 发表于 2022-12-12 22:57:07

ios - 将框架添加到 Xcode 项目


                                            <p><p>我在 xcode 项目中添加了一个框架。在构建阶段-> 将二进制文件与库链接。
该框架由一个库文件(.a 文件)和一个文件夹“Headers”组成,该文件夹包含该框架所需的所有头文件。</p>

<p>现在我正在尝试将框架中的头文件导入我的一个类。 </p>

<pre><code>#import &lt;MySDK/MyHeaderFile.h&gt;
</code></pre>

<p>但是在构建时出现“找不到符号”错误。 </p>

<p>我的理解是,如果我们使用框架而不是库文件,则无需在“头文件搜索路径”中添加头文件路径。</p>

<p>但是,我仍然在标题搜索路径中指定了我的框架的路径。</p>

<p>我还在框架搜索和库搜索路径选项中指定了框架路径。</p>

<p>这是我第一次使用框架。对于库,我刚刚添加了 .a 文件并在头文件搜索路径中指定了头文件的完整路径。 </p>

<p>添加框架时我缺少什么配置?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>如果它是一个静态库文件和一堆头文件,它就不是一个框架。框架是打包文件的特定方法。在 MacOS X 上,静态和动态框架具有一种结构,而 iOS 上的静态框架具有不同的结构。</p>

<p>对于使用 Xcode 5 的静态框架,您的文件结构如下所示:</p>

<pre><code>MySDK.framework/
en.lproj/
Headers/
   MyHeaderFile.h
Info.plist
MySDK
</code></pre>

<p>其中 MySDK 是二进制存档文件(不应是 MySDK.a)。如果你有一个以 .a 结尾的文件,那么你有一个静态库而不是一个框架。使用 Xcode 5 构建静态框架并不容易,但也并非不可能。但是,构建静态库要容易得多且无故障。听起来您已经有了一个静态库,因此您只需使用项目或目标的适当搜索路径设置告诉 Xcode 在哪里可以找到库存档和头文件。 </p>

<p>如果/当您确实有框架时,将其添加到“链接库和框架”或将“其他链接器标志”设置为“-framework path/to/MySDK.framework”将正常工作。</p>

<p>较新版本的 Xcode 可能支持构建或使用框架的不同功能,但链接它们应该大致相同。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 将框架添加到 Xcode 项目,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/24156820/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/24156820/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 将框架添加到 Xcode 项目