我正在尝试在模拟器上启动我的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)
答案 0 :(得分:0)
转到" info"在项目设置和清除库搜索路径中,然后重新添加libGoogleAdMobAds.a框架
答案 1 :(得分:0)
库很可能不包含任何i386二进制切片。它可能包含设备切片 - 3" iPhone"架构:armv7,armv7s,arm64 - 但不是在您的计算机上运行的模拟器架构。 由于无法找到二进制切片,链接器缺少符号以使i386可执行,并且无法在模拟器中运行。
答案 2 :(得分:0)
您从哪里获得AdSupport.framework?我现在意识到它在你的Documents目录中。
通常你应该通过进入目标设置链接来自Xcode的目标:
然后构建阶段>链接二进制文件库:
搜索“AdSupport”,它应该在iOS8.1下:
图书馆应该在那里: