我正在尝试将我的(第一个)iPhone 应用程序临时分发给一小群志愿者测试人员。 我浏览了苹果的文档以及一些博客文章,但仍然遇到问题。 我有几个不清楚的问题(至少对我来说):
在创建开发和/或分发证书请求时,对于通用名称,我应该使用我的名字还是我公司的名称? 我以公司身份注册了 iPhone 开发者计划,门户网站显示了该公司名称,同时也显示了我自己的名字“Agent”。
此外,Apple 的文档(开发人员指南的“发布应用程序以进行测试”一章)包含一个图表,其中显示了测试器配置文件,其中包含有关测试器设备、测试应用程序 ID 和开发证书的信息。 当我尝试在门户上创建测试程序(临时)配置文件时,它选择分发证书,而不是开发证书。 这是正确的吗? 看起来很有道理,但与图不符。
任何有关临时配置的其他建议也将受到赞赏,特别是如何收集信息以进行故障排除。 我的测试人员报告收到“应用程序未安装,因为发生未知错误 (0xE8008016)”消息,该消息没有告诉我任何有关我可能做错的事情。
谢谢,
安德鲁
I'm attempting to do an ad-hoc distribution of my (first) iPhone App to a small group of volunteer testers. I've looked through Apple's documentation, as well as a number of blog posts, but am still having trouble. I have a couple questions about things that aren't clear (to me, at least):
When creating Development and/or Distribution certificate requests, for Common Name, should I use my name or my company's name? I registered for the iPhone Developer program as a company, and the portal shows this company name, but also my own name as "Agent".
Also, Apple's documentation (the "Publishing Applications for Testing" chapter of the Developer's Guide) contains a diagram showing the Tester Provisioning Profile as containing info about the Tester Device, the Test App ID, and the Development Certificate. When I try to create the Tester (Ad-hoc) Provisioning Profile on the portal, it selects the Distribution Certificate, not the Development Certificate. Is this right? It seems to make sense, but doesn't match the diagram.
Any other advice on ad-hoc provisioning would also be appreciated, particularly how to gather information for troubleshooting. My testers have reported getting an "application was not installed because an unknown error occurred (0xE8008016)" message, which doesn't tell me anything about what I may have done wrong.
Thanks,
Andrew
发布评论
评论(5)
您创建的临时构建是否适合您安装? 这是收集信息的最简单方法 - 按照您为用户提供的指示亲自尝试一下。
我遇到了 Windows 用户无法安装我的应用程序的问题,因为 Windows 无法正确解码我在 Mac 上创建的压缩文件夹。 我最终求助于 XCode 中的运行脚本构建阶段,该阶段创建了一个 .ipa 文件,该文件可以正常用于 Windows 和 Mac iTunes 的拖放操作。
Does the ad-hoc build you created install properly for you? That's the easiest way to gather information-try it yourself, following the directions you're giving your users.
I had problems with Windows users not being able to install my app because Windows couldn't properly decode the compressed folder I created on my Mac. I eventually resorted to a Run Script build phase in XCode that created a .ipa file which worked properly for drag-and-drop for Windows and Mac iTunes.
在 entitlements.plist 文件中,您必须取消选中 get-task-allow bool 才能为其指定一个 false 值。 这仅适用于 AdHoc 分发。
当我经历一个构建周期并认为我已经保存并签入了正确的 entitlements.plist 且未选中 get-task-allow 时,我经历了惨痛的教训才了解到这一点。
In your entitlements.plist file you have to uncheck the get-task-allow bool to give it a false value. This is only for AdHoc distribution.
I learned this the hard way when I went through a build cycle thinking I had saved and checked in the right entitlements.plist with get-task-allow unchecked.
我使用自己的名字作为通用名称,但是,我不确定这是否真的重要。 我确实命名了我的分区。 不过,使用我的公司名称配置配置文件。
Ad-Hoc 被视为分发,因此分发证书是正确的。
您是否为您的临时项目创建了 Entitlements.plist 文件?
您在构建临时项目时是否遇到任何签名错误?
I used my own name for Common Name, however, I'm not sure this really matters. I did name my dist. provisioning profile with my company name, though.
Ad-Hoc is considered distribution, so the distribution certificate is the correct one.
Did you create an Entitlements.plist file for your ad-hoc?
Are you getting any signing errors when you build your ad-hoc?
我发布了一个示例打包脚本,用于自动化临时分发构建,也许这很有用?
http://iphonedev.makerlab .org/2009/12/packaging-script-for-iphone-ad-hoc-distribution-builds/
I posted a sample packaging script that i use for automating ad hoc distribution builds, maybe this is useful?
http://iphonedev.makerlab.org/2009/12/packaging-script-for-iphone-ad-hoc-distribution-builds/
嗯,我似乎已经成功了——很抱歉耽误了很长时间的跟进。 这是我找到的最好的资源: http://www.bigspaceship.com/blog/labs/iphone-101-understanding-distribution-pt-i-of-ii/ 尽管它也没有获得全部详细信息是的,Apple 似乎经常更改 iPhone 计划门户,因此也许没有资源会完全更新。 你的旅费可能会改变。
回答我提出的问题(并回答其他答案中提出的一些问题):对于开发者证书,我使用了我自己的名字。 对于分销证书,我使用了公司的名称。 是的,dist.plist 半身像存在,并且 get-task-allow 属性为 false。
最后,还有一个问题:AppID/Bundle 标识符应该全部小写。
Well, I seem to have it working -- sorry for the long delay in following up. Here's the best resource on this that I've found: http://www.bigspaceship.com/blog/labs/iphone-101-understanding-distribution-pt-i-of-ii/ although even it doesn't get quite all the details right, and it seem that Apple changes the iPhone Program portal often, so maybe no resource will ever be fully up-to-date. Your mileage may vary.
To answer the questions I posed (and reply to some of the questions raised in other answers): For the Developer Certificate, I used my own name. For the distribution certificate, I used the name of the Company. Yes, the dist.plist bust exist and the get-task-allow property is false.
Finally, one more gotcha: the AppID/Bundle identifier should be all-lowercase.