安装iOS ad-hoc应用程序失败

时间:2013-05-20 20:44:08

标签: objective-c xcode

通过在我的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中安装应用程序时,会出现一个错误对话框,说明无法安装该应用程序。

2 个答案:

答案 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安装。