8

我看到在 AppStore 上发布我的应用时出现问题!验证过程说:“iPhone/iPod Touch:应用程序可执行文件包含不受支持的架构:armv7s”

这是我链接的库: CoreLocation(必需) Twitter(可选) QuartzCore(必需) MapKit(必需) UIKit(必需) Foundation(必需) CoreGraphics(必需) libGoogleAnalytics.a(必需) libsqlite3.dylib(必需) CFNetwork(必需)

我也尝试删除 GoogleAnalytics Library,但问题是一样的!你有什么主意吗?

谢谢

4

6 回答 6

6

根据 Apple 开发论坛 ( https://devforums.apple.com/message/749949 ) 上的讨论,这似乎是一个影响很多人的错误。可能是由于 Apple 的验证服务器发生了变化。

我能够通过将构建设置中的构建架构从 Standard(armv7,armv7s) 更改为 armv7 并重建来解决它。这只应该是编译后的代码没有针对 iPhone 5 进行优化。它仍然会运行,但可能不如为 armv7s 编译的那么快。我怀疑在大多数情况下性能差异可以忽略不计。

于 2012-10-31T18:20:05.827 回答
2

这帮助了我:

项目 -> 构建设置 -> 从“有效架构”中删除架构,并在项目中将“仅构建活动架构”设置为“是”

于 2012-11-01T06:07:56.323 回答
1

我今天遇到了同样的问题。我的应用没有第三方库。

12 天前,我从 Xcode 4.5.1 提交了一个构建,随后经过审查并发布到 App Store。今天我尝试提交一个新的构建,突然收到这个错误。

然后,我尝试在 Xcode 中验证我 12 天前提交并且已通过验证并且现在可以在 App Store 中下载的相同可执行文件(不是重建),但这次验证失败并出现上述错误。

执行上面的第 4 步允许我提交新版本。但是即使我添加了少量代码和三个小的 png/jpeg,可执行文件也更小。这让我觉得档案中缺少 armv7s 代码。

怎么了?为什么上面的第 4 步应该“工作”?为什么之前提交 OK 突然发布的可执行文件不再通过验证?

注意:这不是我在 15 小时前找到的任何先前帖子的副本。这是我第一次看到有人提到在提交到 iTunes Connect 时看到此错误,而不是收到编译器警告。所以请不要将此标记为重复。它不是。

于 2012-10-31T12:47:00.627 回答
0

我的问题是我使用的是旧版本的 Application Loader。

我的解决方案是下载最新版本的 Application Loader iTunes Connect > Manage Your Applications > Download Application Loader,然后重试。

于 2014-07-28T10:33:07.977 回答
0

这里的大多数答案都是我认为不理想的答案,主要是因为它们本质上建议您从应用程序中删除对 armv7s 的支持。虽然这会让你的应用程序通过验证,但这可能会使你的应用程序在 iPhone 5 上运行得更慢。

这是我正在使用的解决方法(不过,我必须说我不会将此称为解决方案)。

我没有使用 XCode Organizer,而是使用 Application Loader 上传二进制文件。

使用 Application Loader 上传二进制文件

打开管理器>右键单击存档>在Finder中显示。

右键单击存档文件 > 显示存档内容

转到产品 > 应用程序 > YourAPP.app

压缩 YourAPP.app 并使用 Application Loader 上传。

于 2012-11-02T06:23:41.707 回答
-1

尝试这个:

1.在 Xcode 中选择您的项目(带有蓝色图标)

2.选择构建设置

3.将视图设置为全部/组合

4.将“仅构建活动架构”设置为是

于 2012-10-31T11:31:17.573 回答