我有一个项目正在使用我创建的 2 个静态库,我们称它们为 libraryA 和 libraryB 以及一个 Bundle。
主项目使用 libraryA、libraryB 和 bundle,libraryA 也调用 libraryB 和 bundle。
每个静态库、包和主项目都是通过在 Xcode 中启动一个新项目来创建的。最后一个要创建的项目是 MyProject.xcodeproj。创建该项目后,我将 libraryA.xcodeproj、libraryB.xcodeproj 和 myBundle.xcodeproj 拖到其中并以如下内容结束:
一切都很好地编译和运行,但在 MyProject.app 中检查,我发现它不包含 myBundle 中的资源文件。是的,myBundle.bundle 处于 MyProject 的“复制包资源”阶段以及目标依赖项。
顺便说一句,请解释我应该如何为这个项目的所有部分设置构建阶段的“目标依赖项”、“将二进制文件与库链接”和“复制捆绑资源”部分,以便最终的应用程序包含所有内容。
谢谢。
Best Answer-推荐答案 strong>
Target Dependencies 仅表示在当前目标构建之前将首先执行哪些其他目标。如果您想在编译主项目之前对库和 bundle 进行更改,请确保包含这些目标中的每一个。如果您从依赖项中删除它们,项目仍然可以正常构建,当您想要添加更改时,您只需要手动构建库的项目。
与二进制库的链接应该同时显示 libraryA 和 B。它将引用该库的最新构建版本,因此结合目标依赖项,您的 MyProject 应用程序将包含对您的库的所有最新更改。
如果您的 MyProject 应用程序运行良好,则说明您所做的一切都是正确的。如果您可以引用静态库中的类而不会出现链接器错误,那么这些类已正确链接。如果来自 myBundle 的资源显示在应用程序的 UI 中,那么它也被正确复制。
如果您缺少 bundle 中的文件,请查看您的 MyBundle 项目并确保其 Copy Bundle Resources 部分显示您想要包含的文件。
关于iphone - 如何在最终应用中包含所有内容,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/16094585/
|