iOS App无法找到框架头文件

时间:2015-12-24 08:23:55

标签: ios objective-c frameworks

我有一个在Obj-C中创建的Cocoa Touch框架,我已经为模拟器以及arm7,7s,64构建了它,它是一个胖框架。
通过拖动将此框架添加到测试项目后,当我尝试通过导入添加头文件时,它会自动完成,但Xcode无法找到这些文件并返回错误。

我也试过添加搜索路径,但无济于事,Xcode只是找不到这些文件。

我在创建框架时公开了所有这些标头,并使用嵌入式测试应用程序进行了测试

这是Xcode图像

7 个答案:

答案 0 :(得分:2)

我认为您需要设置"标头搜索路径"在构建设置

答案 1 :(得分:1)

您需要指定所需的标题文件' public'在制作你的框架时。

在Xcode中:

  1. 选择要公开的标题文件(项目导航器)
  2. 选择'文件检查器'在Xcode右侧。
  3. 找到'目标会员'
  4. 部分
  5. 确保您的框架已选中
  6. 在您的框架名称后面有一个可选择的下拉菜单。
  7. 选择' public'公共/私人/项目之外。
  8. 重新编译框架并重新包含它。现在您看到您公开的头文件。

答案 2 :(得分:1)

No problem in finding header but I get another error about missing architecture

AdGateMediaiOSSDK.framework/AdGateMediaiOSSDK, missing required architecture x86_64 in file

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_AdGateMedia", referenced from:
      objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

连接iPhone并禁用bitcode后,项目编译并构建。

答案 3 :(得分:1)

已解决!

执行 Anders Cedronius 告诉☝?的操作,然后,如果问题仍然存在:

  1. 右键单击[ YOURIMPORTED.framework -> 在Finder中显示](然后将出现Finder窗口)
  2. 关闭Xcode(命令 + Q
  3. 在“查找器”窗口上:删除导入的 YOURIMPORTED.framework
  4. 在Finder窗口上:粘贴 RECOMPILED.framework
  5. 在Xcode上打开您的项目,然后构建/运行它!

完成:D

答案 4 :(得分:0)

将框架拖到项目中时,请记住您已选择"copy items if needed"

选项

答案 5 :(得分:0)

当我使用第三方提供的库时,我常常遇到此问题。您应该注意到相关的.framework文件标有问号,XCode可能无法识别该问号并且似乎和我遇到的问题一样。

我的解决方案右键单击.framework文件并将其删除,然后再次添加原始文件,直到问号消失。

祝你好运。

答案 6 :(得分:-1)

就像这样:

#import "AdGateMediaiOSSDK.framework/AdGateMediaiOSSDK"

希望得到这个帮助。