我已经创建了我的应用程序的临时版本,并希望其他人安装它。我在配置文件中有他们的设备ID(实际上是两个)。我的证书与临时和应用商店配置相同。证书在钥匙串中有效。我在Xcode中为此构建选择了ad hoc配置文件,该配置链接到分发证书。
我向用户发送配置文件和.app文件。他们将两者都放入iTunes并同步,然后在两台设备上都出现此错误:
The application "myapp" was not installed on the iPhone "user's iPhone" because the signer is not valid.
我已从我的iPhone中删除了所有个人资料,将上述两个文件放入iTunes,同步并成功安装了该应用。我不能让它为我重复。我需要在本地重新解决这个问题以找出问题所在。有什么想法可以做到吗?
答案 0 :(得分:16)
您是否添加了权利?将签名置于目标级别,而不是项目级别?选择Ad Hoc配置文件?在构建之前干净吗?选择构建中的Ad Hoc设备?
最好的办法是按照Apple的文档完全,让你的构建设置完全匹配Apple的。
答案 1 :(得分:6)
最好检查.app文件中捆绑的imbedded.mobileprovision文件,以确保UID在那里。只需执行以下操作:
在此文件中查找设备的UID。如果它不存在,那么它可能不会添加到门户中的配置文件中。
答案 2 :(得分:4)
来自文档:
为Ad Hoc构建应用 分配类似于建立一个 适用于App Store分发的应用程序 两个额外步骤的例外。 首先,您需要创建一个Ad Hoc 分配供应配置文件和 添加iOS设备的UDID 你想分发到使用 iPhone开发人员计划供应 门户。其次,你需要创建一个 代码签名权利文件。对于 有关如何创建的信息 权利文件读取管理 应用程序权利部分 iOS开发指南。
管理应用程序权利
iOS提供特殊访问权限 资源和能力 - 如 你的申请是否可以 调试的调试属性 权利。指定权利 您的申请中的信息 添加权利属性列表文件 包含权利定义 (键/值对)到您的项目。 在构建应用程序时,Xcode 将文件复制到生成的文件 应用程序包。
添加权利属性列表 提交到您的项目:
在小组&文件列表,选择 资源组。选择文件>新 文件。选择iOS>代码签名> 权利模板。命名文件 Entitlements.plist。 (你可以使用任何 名称;确保它与值匹配 代码签名权利的构建 设置,如下文所述 部分。)设置的类型 属性列表文件到iPhone 授权。选择文件 在文本编辑器中,选择View> 物业清单类型>苹果手机 权利持续存在。
将您的权利条目添加到 文件。对于每个权利属性 你需要定义:
单击“添加子项”或“添加同级” 所选按钮右侧的按钮 行。 “添加子项”按钮有三个 描述层次结构的线条,添加 同级按钮有一个加号(+) 它。选择权利属性 从出现的弹出菜单中。如果 您需要添加的权利 没有出现在菜单中,请选择 查看>物业清单类型>默认 对于文件类型。然后输入 权利 - 密钥名称和类型。
输入属性的值。组 代码签名权利构建 将目标设置为名称 新添加的权利 property-list file。
一旦你 创建了您的Entitlements文件 并将其添加到您的代码签名中 权利构建设置,打开 权利文件并添加或编辑 get-task-allow键并将其设置为 假的。
除了压缩你的.app 捆绑以分发您的Ad Hoc构建 对于测试人员等,建议 你也压缩了 之前的配置文件 分发因为某些电子邮件 客户端和服务器可能会破坏 供应资料。
有关Ad Hoc的信息 分发请阅读 发布测试应用程序 iOS开发指南中的部分。
答案 3 :(得分:3)
我最近在最近的版本中遇到了一个测试人员遇到了这个问题。事实证明,我的测试人员已经重置了他们的iPod Touch,并在此过程中删除了配置文件。
需要考虑的事情。
答案 4 :(得分:2)
我通过做一些比其他人发布的更糟糕的事情来解决这个错误。我在配置文件中添加了新设备,但忘记下载更新版本,将其添加到Xcode,并将项目指向它。当我正确设置时,测试人员可以安装应用程序。
答案 5 :(得分:1)
这是另一个有趣的....如果您有iphone和ipad的单独授权文件,请确保为每个特定版本设置文件的目标...否则它将不会显示在构建中并且您'会收到此错误
答案 6 :(得分:1)
我到这里是因为我和OP有同样的问题。事实证明我在权利文件中没有UDID,即使我确定我在XCode组织器中使用了刷新。另一次刷新没有任何区别。
最后,我删除了所有配置文件,然后刷新了。事情现在有效。
我不知道这是我的设置中的故障还是操作员错误。但是,万一其他人发现自己处于这种情况:可能需要付费才能删除您的配置文件然后刷新。
答案 7 :(得分:0)
对于运行IOS 3.1.3的iphone 3G,这对我不起作用。我通过查看settings-> general(没有列出配置文件选项)验证了分发配置文件不在手机上。
然后我安装了iphone配置实用程序:
http://support.apple.com/kb/DL851
然后:
然后安装的应用就好了。
答案 8 :(得分:0)
我也遇到了与OP相同的问题。愚蠢的错误:当我将它作为设备注册时,我意外地将最后两位数字从我试图临时分发的设备上删除。
答案 9 :(得分:0)
我两次遇到同样的问题(xcode 4.2 ios 5
)
第一,我忘记在建筑中添加armv6了
第二,我已经创建了许多具有相同开发者ID的配置文件的时间,我应该根据捆绑标识符的使用删除其他密钥链...并且我错误地删除了有效并使用了其他kechain