我有一个项目正在使用我创建的2个静态库,我们称之为libraryA和libraryB以及Bundle。
主项目使用libraryA,libraryB,bundle和libraryA也调用了libraryB和bundle。
每个静态库,bundle和主项目都是通过在Xcode中启动一个新项目来创建的。要创建的最后一个项目是MyProject.xcodeproj。创建该项目后,我将libraryA.xcodeproj,libraryB.xcodeproj和myBundle.xcodeproj拖到它上面并以这样的结尾:
一切都在编译和运行得很漂亮,但在MyProject.app中检查,我发现它不包含myBundle中的资源文件。是的,myBundle.bundle在MyProject的“复制包资源”阶段,也在目标依赖项上。
顺便说一句,请解释我如何为该项目的所有部分设置“目标依赖项”,“链接二进制文件库”和“复制包资源”部分的构建阶段,因此最终的应用程序将包含所有内容。 / p>感谢。
答案 0 :(得分:1)
目标依赖关系仅意味着在当前目标构建之前首先执行哪些其他目标。如果要在编译主项目之前获取库和包的更改,请确保包含每个目标。如果从依赖项中删除项目,项目仍然可以正常构建,只需要在添加更改时手动构建库项目。
与二进制库的链接应该同时显示libraryA和B.它将引用该库的最新版本,因此结合目标依赖项,您的MyProject应用程序将对您的库进行所有最新更改。
如果您的MyProject应用程序运行正常,您可能会正确完成所有操作。如果您可以引用静态库中的类而不会出现链接器错误,那么这些类正在正确链接。如果来自myBundle的资源显示在应用程序的UI中,那么也会正确复制该资源。
如果您丢失了捆绑包中的文件,请查看MyBundle项目并确保其“复制捆绑包资源”部分显示您要包含的文件。