iOS开发人员构建与分发构建

9
我一直以为,在iOS上,使用开发人员预配文件来签名构建允许应用通过XCode构建在经授权的设备(列在开发预配文件中)上运行(并进行调试),而使用发布预配文件签名则允许应用在其他已被特定添加到发布预配文件中用于QA/beta测试等目的的iOS设备上运行(但无法进行调试),而不需要这些QA/beta测试人员甚至知道什么是XCode。看起来与苹果公司自己的文档相符:“当你准备分享应用进行用户测试时[...],你需要使用发布预配文件创建应用程序的归档,并将其发送给应用测试人员”(source)。
使用开发配置文件进行代码签名允许您的应用程序通过Xcode在设备上运行,而使用分发配置文件则允许您创建分发构建。名为“iPhone Developer”的证书允许您通过Xcode在iOS设备上运行/调试应用程序,而名为“iPhone Distribution”的证书允许您使用Ad Hoc分发测试提交构建(source)。
这似乎意味着使用分发配置文件是在应用商店之外共享应用程序所必需的,多年来我一直认为这是正确的。然而,最近我从另一个同事那里看到了另一种用例,他们只使用开发配置文件就能与许多其他人分享构建。另一个用户在这里描述了类似的发现:为什么不使用开发配置文件而使用Ad Hoc? 我担心可能会漏掉一些东西,现在怀疑只要另一个用户有权访问包含其设备UUID的相关开发人员配置文件,并将其安装在其设备上(拖入iTunes,配置实用程序等),他们也可以通过iTunes同步Developer版本,而无需制作单独的Distribution版本。
这使我开始质疑我对开发人员和分发版本之间差异性质的一些假设。我开始认为,它更多地涉及调试支持和一般易于安装性,而不是安装方式的性质(XCode vs iTunes / OTA明确)。
简而言之,如果设备的UUID包含在开发人员配置文件中,我是否真的需要制作单独的分发版本,还是可以简单地共享发布开发构建,并假定它也适用于iTunes同步?组织者中的“用于开发”的按钮对此是否有任何真正的相关性?
更广泛地说,在提交到App Store之前,在开发/测试阶段内,开发人员和AdHoc版本在如何与组织中其他人共享方面有哪些根本区别?

Ad-hoc构建旨在在组织内分发。 - Johan Karlsson
1个回答

3

查看这篇帖子,了解开发版本和分发版本之间的区别。从开发者角度来看,如果您不测试推送通知,那么使用开发者配置文件或分发配置文件签署应用程序并将其分发给用户之间没有太大区别。


1
生成的设备令牌在开发和发布时是不同的。如果您想在推出到应用商店之前测试推送消息,则唯一可用的选项是创建Ad-hoc分发构建。 - ashokbabuy
不,可以使用开发者版本测试推送通知。在我的当前项目中,我已经这样做了将近3年。 - Johan Karlsson
设备令牌在开发版本和生产版本中是相同的。 - Johan Karlsson
我的意思是使用dev APN服务(端口2195)和production APN服务(端口2196)来测试推送。 - ashokbabuy
1
这是一篇旧文章,但是你可以使用开发者资料测试推送。您需要为后端创建单独的Push证书,并连接到gateway.sandbox.push.apple.com。 - Rob Rodriguez
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接