我正在尝试从我的另一台 Mac 上分发一个内部企业应用程序,它是一台 Mac Pro。我在 Apple's instructions 之后导出了开发配置文件从我一直用来成功分发的 macbook。我从现在开始也按照这些说明将它们导入到我试图分发的 mac 上。
我将项目文件夹从我的 macbook(工作发行版)复制到 mac pro(不工作)并使用 Xcode 打开它。然后我构建并归档了项目。然后我转到 Organizer,选择最新的存档,然后单击 Distribute...
从那里我做了我一直做的事情:为企业选择第二个选项,使用正确的供应配置文件,并将其导出到托管它的服务器。
当我点击链接安装该应用程序时,它开始正常下载,但最后以奇怪的无图标图像作为应用程序图标结束,当我尝试打开它时,该应用程序立即关闭。
我在导出和导入我的配置文件时是否做错了什么?如果不是,这里还有什么问题?
最佳答案
请在安装过程中发布写入设备日志的内容。您可以从 Xcode 中的管理器窗口监视设备控制台。打开 Xcode 并选择 Window -> Organizer,然后在您的设备下选择 Console。
根据您的描述,我可以想到可能导致此问题的三件事:
通过 SSL 的 OTA
尝试安装该应用程序的设备运行的是 iOS 7.1,manifest.plist 和 ipa 未通过 SSL 提供服务。请记住,iOS 7.1 现在需要通过安全的 https 连接进行 OTA 安装。
使用不正确的配置文件签名
如果设备日志包含“无法预检应用程序”,则该应用程序很可能未正确签名。您可以按照以下答案中的步骤验证您确实使用了正确的移动设备:https://stackoverflow.com/a/18642782/1144060
- 获取您的 IPA 文件,将其重命名为 .zip 扩展名。
- 解压缩此文件并在 Finder 中打开 Payload 目录。
- 右键单击您的应用程序,然后单击“显示包内容”。
- 找到文件 embedded.mobileprovision,然后在文本编辑器(如 TextEdit)中打开此文件。
如果 embedded.mobileprovision 包含 ProvisionedDevices 的条目,那么您将使用 Ad Hoc 或开发配置文件而不是您的企业配置文件进行签名。
缺少私钥
除非企业证书由 Xcode 管理(例如,您从 Xcode 中创建企业证书),否则 Xcode 可能不会像管理其他配置文件那样管理它。
我们的构建机器在 XCode 5 中配置了多个 ADC 帐户。在尝试初始化新的构建环境时,我导出了配置文件并将它们导入到新的构建环境中。企业证书和 key 不是由在 Xcode 中注册的帐户之一创建的。企业证书和 key 未转移。
在您的 macbook 上打开 Keychain Access.app 并选择左下角的 Certificates 类别。您的企业证书将与私钥相关联。选择它们,然后选择文件... -> 导出。输入密码以保护 p12 文件。
将生成的 p12 文件(默认名为 Certificates.p12)复制到您的 mac pro,然后双击该文件以使用 Keychain Access.app
关于ios - 使用相同的开发人员和团队配置文件从两台不同的 Mac 分发应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22619381/