0

我们有 3 个通过 MDM(赛门铁克应用中心)分发的企业 iOS 应用程序。这些应用程序在应用程序中心内配置了安全策略,这意味着它们在分发该应用程序之前使用包装库重新包装应用程序。这在 iOS 8 发布之前一直运行良好。当您尝试在 iOS 8 上运行应用程序时,它们会立即崩溃。如果我将应用程序直接部署到 MDM 工具之外的同一台 iPad 上,它们运行良好。

日志显示

Dyld 错误消息:库未加载:@executable_path/nukonize.dylib

(Nukona 是 Symantec App Center 的原始名称,该库是他们的应用程序包装器)。

注意事项: - 与其他 MDM (AirWatch) 一起尝试过,我发现同样的问题。- 供应商使用他们的企业分发证书退出应用程序,他们没有看到问题。- 我用我的个人开发者分发证书签署了应用程序,我们没有发现问题。- 我们将 MDM 解决方案之外的应用程序部署到同一个 iPad,我们没有发现问题。- 我们通过 MDM 部署到 iOS 6.x 或 7.x iPad,我们没有发现问题。

为了排除代码问题,我构建了一个 Hello World 应用程序,除了在屏幕上显示 Hello World 之外什么都不做。通过 MDM 部署它,它也有同样的问题。

一切都表明我们的分发证书/帐户存在问题,但我无法终生思考这可能是什么。任何有助于解决此问题的建议将不胜感激。

4

1 回答 1

1

该应用程序可以正常安装。直到它启动时,问题才出现。启动屏幕显示非常短暂,然后应用程序崩溃。

通过与 AirWatch 合作,我们发现了该问题的解决方案。我们的签名证书是在 iOS 8 发布之前创建的,并且缺少在 iOS 8 之后创建的证书上存在的 OU 元素。显然,这是在包装过程中使用的。

我们必须创建一个新的分发证书并用它签署应用程序。一旦我们正确地启动了应用程序。

因此,如果您遇到类似的问题,请检查您的分发证书以查看其上是否有 OU。如果没有,您将不得不创建一个新的。

于 2015-02-23T17:29:08.937 回答