通过在我的iOS测试设备上安装ad-hoc构建,我遇到了问题。 当我通过XCode运行应用程序时,没有问题,但从我创建一个签名的临时应用程序(* .ipa)的那一刻起,该应用程序无法通过iTunes或iPhone配置工具进行安装。
我做了什么:
- 创建分发证书
- 创建应用ID(com.project_name.*
)
- 创建分发配置文件,包括分发证书,所有设备UUID等。
- 在plist文件中,我将“Bundle identifer
”设置为“com.project_name.app_name
”
通过创建ad-hoc文件,我选择了分发证书进行代码签名。此证书也在project file --> build settings --> Code-Signing
当我在iTunes中安装应用程序时,会出现一个错误对话框,说明无法安装该应用程序。
答案 0 :(得分:2)
确保您没有在包标识符中使用特殊字符。
包标识符字符串标识您的应用程序 系统。该字符串必须是统一类型标识符(UTI) 仅包含字母数字(A-Z,a-z,0-9),连字符( - )和句点(。) 字符。该字符串也应采用反向DNS格式。对于 例如,如果您公司的域名是Ajax.com并且您创建了一个域名 应用程序名为Hello,您可以将字符串com.Ajax.Hello指定为 您的应用程序的包标识符。捆绑标识符用于 验证申请签名。
如果您的包标识符正确, 请通过以下步骤验证您的ipa文件:
步骤1:将yourapp.ipa重命名为yourapp.zip
第二步:提取yourapp.zip的内容,你会在Payload中看到内容 文件夹中。
步骤3:在有效负载文件夹中找到yourapp.app。
步骤4:右键点击应用并点击“显示包内容”
步骤5:在包内容中,找到“embedded.mobileprovision”
步骤6:在文本编辑器中打开“embedded.mobileprovision”。并检查是否 您的设备ID存在于那里。
如果您的设备ID存在,那么您的构建是正确的。否则,通过检查所有代码重建。
注意:请确保在创建分发文件时选择“Ad-hoc”,而不是“App store”。
答案 1 :(得分:0)
问题不在于应用程序。
我的解决方案:将应用程序以Xcode-Project(同样方式Organizer --> Archive --> Distribute
)导出到另一台mac。想想证书。您还必须从第一个mac导出私钥(* .p12文件)。
从第二个mac打开XCode-Project,使用配置文件对其进行签名,然后通过itunes安装。