iOS模拟器链接器命令失败

时间:2014-11-02 16:10:55

标签: ios xcode linker admob ios-simulator

我正在尝试在模拟器上启动我的iOS应用程序,但它不起作用。虽然在手机上运行应用程序正常。它与我的admon集成有关。在模拟器运行顺利之前。我正在使用Xcode 6.1。

我添加了所有必需的框架:

AdSupport  
AudioToolbox  
AVFoundation  
CoreGraphics  
CoreTelephony  
EventKit
EventKitUI 
MessageUI
StoreKit
SystemConfiguration
as well as libGoogleAdMobAds.a

我得到的错误是:

ld: warning: ignoring file /Users/XXXXXXX/Documents/app1/app1/AdSupport.framework/AdSupport, missing required architecture i386 in file /Users/XXXXXXX/Documents/app1/app1/AdSupport.framework/AdSupport (3 slices)
Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_ASIdentifierManager", referenced from:
      objc-class-ref in libGoogleAdMobAds.a(GADDevice.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

3 个答案:

答案 0 :(得分:0)

转到" info"在项目设置和清除库搜索路径中,然后重新添加libGoogleAdMobAds.a框架

答案 1 :(得分:0)

库很可能不包含任何i386二进制切片。它可能包含设备切片 - 3" iPhone"架构:armv7,armv7s,arm64 - 但不是在您的计算机上运行的模拟器架构。 由于无法找到二进制切片,链接器缺少符号以使i386可执行,并且无法在模拟器中运行。

答案 2 :(得分:0)

您从哪里获得AdSupport.framework?我现在意识到它在你的Documents目录中。

通常你应该通过进入目标设置链接来自Xcode的目标:

enter image description here

然后构建阶段>链接二进制文件库:

enter image description here

搜索“AdSupport”,它应该在iOS8.1下:

enter image description here

图书馆应该在那里:

enter image description here