我正在尝试为一小组非开发人员测试人员创建一个版本,以便在我将其提交到iTunes Connect之前在我的应用上进行一些beta测试。我在"Distributing Your App for Testing上阅读了开发人员指南(您可能需要在Apple注册才能阅读此内容)以及Technical Note TN2250 on Ad Hoc distribution,以及无数博客文章和Stack Overflow文章,但迄今为止没有成功。
我采取的步骤:
测试人员:
在任何一种情况下,在同步结束时,他们会收到“他们的设备和设备名称上未安装应用[我的应用名称]的对话框>]因为权利无效。“
值得注意的是,去年秋天,我能够将同一个应用程序的早期版本分发给相同的测试人员,没有任何问题,也没有权利列表。除了升级Xcode之外,我不确定发生了什么变化。
任何人都可以提供任何见解或看到我做错了吗?
[我也在Apple的开发者论坛上发布了此消息,并将在此处重新发布任何解决方案。]
答案 0 :(得分:1)
* .ipa文件应该已包含配置文件。如果使用zip实用程序,则可以从Windows计算机轻松查看。该文件只是一个具有不同扩展名的zip存档。
应用程序上的设备是否在正确版本的iOS上?
在Setting > General > Profiles
中的设备上,您可以看到已安装的所有配置文件列表,以消除该问题。使用添加新设备时创建的每个新证书,您将获得多个副本。删除所有配置文件并检查是否添加了最新的配置文件并没有什么坏处。
进行构建时,在构建结果中右键单击并选择Open These Latest Results as Transcript Text File
,然后搜索CodeSign
,它将显示该步骤的输出,您应该清楚地看到使用了哪个配置文件。您还可以搜索Entitlements.plist检查使用的路径,然后查看该文件。
你说你删除了所有的行。我没有Can be debugged
条目,但我确实有
application-identifier
和keychain-access-group
听起来与代码签名相关。这是您可以尝试的文件的纯文本版本;
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!--- Required entitlements (in most cases shouldn't be changed) --->
<key>application-identifier</key>
<string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
</array>
<!--- Custom entitlements below --->
</dict>
</plist>
如果出现任何错误,这些是Apple在准备分发版本时建议的步骤;
希望有些帮助或激发啊哈!时刻。
答案 1 :(得分:1)
Xcode 4中的Ad Hoc版本不再需要代码签名权利 - 请参阅Apple Technical Note TN2250
中的详细说明答案 2 :(得分:0)
"App ID: somenameyouwrote(com.somenameyouwrote)"
"com.somenameyouwrote"
"bundle identifier:"
下输入您在步骤5中记下的内容。"Targets"
旁边的箭头,然后双击将带有你的ap名称的目标。 "Build"
。"Code Signing Identity"
,然后选择"Any iOS"
。"Any iOS"
的右侧,选择列出的Ap标识符与您在plist中写的匹配的个人资料。