iOS模拟器链接器命令失败

我试图在模拟器上启动我的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) 

转到项目设置中的“信息”并清除库searchpath,然后重新添加libGoogleAdMobAds.a框架

该库很可能不包含任何i386二进制片。 它可能包含设备的切片 – 3个“iPhone”体系结构:armv7,armv7s,arm64 – 但不是在您的计算机上运行的模拟器体系结构。 由于无法find二进制片,所以链接器缺less符号来制作i386可执行文件,并且无法在模拟器中运行。

你从哪里得到AdSupport.framework? 我现在意识到这是在您的文档目录。

通常情况下,您应该通过进入目标设置来链接Xcode中的目标:

在这里输入图像说明

然后构build阶段>链接与库的二进制文件:

在这里输入图像说明

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

在这里输入图像说明

图书馆应该在那里:

在这里输入图像说明