【发布时间】:2015-05-12 09:33:07
【问题描述】:
我们有一个Xamarin 应用程序正在尝试部署到苹果应用商店,但是当我们尝试提交该应用程序以供审核时,我们得到了异常ITMS-90086 Missing 64-bit support。截图如下:
以下是我的 Xamarin 项目的构建选项,显示为 Supported architectures 设置选择了 ARMv7 + ARM64。
从截图中可以看出,配置设置为Release;我确实在 Xamarin 应用商店指南之一中读到,必须将其设置为 Appstore,但我的项目中没有该配置。 (见下面的截图)。这可能与我们得到的错误有关吗?
我们可以在Project 菜单中将Active configuration 设置为Appstore\Device,并且已经这样做了。所以 Appstore 配置在项目构建选项中不可用。
我们还使用了 4 个静态链接库,这些库在更新到 iOS SDK 8.3 后在 Xcode 中重新编译。这是我们的一个静态链接库的构建设置的示例屏幕截图。
以下是我们为尝试提交申请而执行的操作的摘要:
- 将
Xcode升级到安装了iOS 8.3 SDK的最新版本 - 升级到最新版
Xamarin Studio - 升级到最新版本的
Xamarin.iOS(版本:8.8.2.4) - 将应用程序迁移到
Unified API - 使用
iOS 8.3 SDK在Xcode中重新编译了我们的静态库 - 使用
btouch-native将库导入到我们的Xamarin项目中。 - 将
Active configuration更改为“Appstore\Device”。 - 在
iOS bundle signing部分中配置了正确的配置文件 - 为
Supported architectures构建设置选择了ARMv7 + ARM64。
我们可以使用构建设置中指定的ARM64 架构编译该应用程序;我们可以创建存档;我们甚至可以验证 Xcode 中的存档,它通过验证。但是当我们提交时,我们得到了这个错误。
有谁知道为什么会出现这个错误以及我们可以做些什么来尝试解决它?
【问题讨论】:
-
可能您在项目中使用了另一个不支持 64 位的库
-
问题在于,由于某种原因,AppStore 配置在编辑 iOS 构建选项时没有显示。你能把你的 .csproj 文件贴在某个地方吗?
-
@Andrea 我已经多次检查我的库以确保 arm64 包含在有效配置中,但我会再次检查它们。
-
@Rolf Bjarne Kvinge 我已经在这里上传了项目文件:filedropper.com/mobileforms
-
有什么方法可以在不提交存档的情况下测试 64 位支持吗?我问的原因是因为应用程序有很多依赖项,其中任何一个都可能导致这个问题。除了应用程序项目之外,在同一解决方案中还有一个库项目和 4 个使用 Xcode 编译的其他静态链接库。理想情况下,我想尝试找出导致问题的库,但我无法删除库并提交,因为那样我将提交一个不完整的应用程序。任何想法如何缩小问题所在?