xcodeproj添加了框架,但链接器无法找到它

时间:2015-03-19 22:45:38

标签: ios linker cocoapods xcode-project

我正在使用xcodeproj Ruby Gem为我的Xcode项目添加自定义框架:

top_group = project.groups[0]
framework_ref = top_group.new_file(framework_path)
target = project.targets[0]
target.frameworks_build_phase.add_file_reference(framework_ref)

当我打开Xcode并查看目标时,框架在Linked Frameworks和Libraries下正确列出,但链接器抱怨构建时无法找到框架。在Xcode的Linked Frameworks列表中拖动框架可以修复它,我可以成功构建。

为什么呢?拖动似乎迫使Xcode重新生成project.pbxproj并添加缺少的引用。那会是什么?

2 个答案:

答案 0 :(得分:1)

您需要设置框架所在的路径!

在" FRAMEWORK_SEARCH_PATHS"

的构建设置中附加路径
settings = target.build_settings("Debug")
settings["FRAMEWORK_SEARCH_PATHS"] = [settings["FRAMEWORK_SEARCH_PATHS"], your_framework_directory ]

settings["FRAMEWORK_SEARCH_PATHS"] = settings["FRAMEWORK_SEARCH_PATHS"] + " " + your_framework_directory ]

答案 1 :(得分:0)

在构建设置中添加路径,如下所示:

#Add framework search path
settings = target.build_settings("Release")
settings["FRAMEWORK_SEARCH_PATHS"] = Array(settings["FRAMEWORK_SEARCH_PATHS"])<< '$(PROJECT_DIR)/SDK'
settings["LIBRARY_SEARCH_PATHS"] = Array(settings["LIBRARY_SEARCH_PATHS"])<< '$(PROJECT_DIR)/SDK'