当我使用iPhone模拟器运行时,以及在设备上运行时,我的项目运行正常。当我尝试将其存档以供提交时,我收到此错误:
clang: error: linker command failed with exit code 1 (use -v to see invocation)
这是在错误之前,我不确定它是否相关:
ld: file is universal (2 slices) but does not contain a(n) armv7s slice: /Volumes/Macintosh HD/Users/dog94a/Google Drive/Capstone/Backups/Approach/Approach/GMaps/GoogleMaps.framework/GoogleMaps for architecture armv7s
答案 0 :(得分:1)
Debug
构建配置的默认行为是仅构建活动体系结构(Build Active Architecture Only
构建设置为YES
)。 Release
构建配置不是这种情况,它将构建Valid Architectures
构建设置支持的所有体系结构。这意味着您可能不会在armv7s
版本(iPhone 5,最新iPad等)中定位Debug
设备,因此在执行此操作之前,您不会尝试构建该架构默认情况下使用Release
构建配置的存档。
该错误表示您的项目已配置为创建一个二进制文件,该二进制文件在该类型的设备上运行时具有armv7s
指令,但您尝试链接的GoogleMaps.framework
二进制文件不是使用armv7s
切片构建。要解决此问题,您必须更新到GoogleMaps.framework
的最新版本,并希望他们在启用armv7s
的情况下构建它,或者从armv7s
构建设置中删除Valid Architectures
(显然前者更可取。)
答案 1 :(得分:0)
一旦我包含了一个框架,并且在编译时将armv7的链接器唠叨了。现在你有armv7s,这是iphone5?
解决我的问题是:从该框架中删除所有文件。 编译该框架(在有效体系结构设置中仔细检查是否存在所需的体系结构 重新添加新编译的框架。
尝试也许它有助于甚至解决您的问题!