1

我有这个问题,但现在我更进一步:

我将此框架添加到我的项目中:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/AdSupport.framework

现在,如果我在任何设备上运行应用程序都可以正常工作,但是此框架仅适用于 armv7、armv7s 和 arm64 架构

在模拟器上运行应用程序时,由于缺少 i386 架构,构建失败。这包括在:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AdSupport.framework

我怎样才能实现所有架构都可以使用?我玩了很多构建设置,但到目前为止没有任何效果!

错误报告:

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)

非常感谢!

4

2 回答 2

0

/Users/XXXXXXX/Documents/app1/app1/AdSupport.framework/AdSupport 缺少 i386 切片;我怀疑它可能是为 arm 而不是 intel 构建的。看起来该框架在您的项目之外,所以我建议您为模拟器重建它。

您可以通过运行检查框架的当前架构file /Users/XXXXXXX/Documents/app1/app1/AdSupport.framework/AdSupport

于 2014-11-03T19:27:27.133 回答
0

转到项目目标。并制作如下图所示的架构。在此处输入图像描述

于 2014-11-03T10:51:42.810 回答