为啥不使用开发配置而不是临时配置?
Posted
技术标签:
【中文标题】为啥不使用开发配置而不是临时配置?【英文标题】:Why not use development provisioning instead of ad hoc?为什么不使用开发配置而不是临时配置? 【发布时间】:2010-04-12 22:02:32 【问题描述】:我的印象是,当您使用开发配置文件构建应用程序时,只有指定的开发人员才能将该构建部署到手机上。
但我刚刚使用 Xcode Organizer 将使用开发配置文件的构建部署到手机,即使我不是该配置文件的有效开发人员之一。我的一位同事甚至没有安装 Xcode,他在手机上使用 iTunes 也做了同样的事情。
在这种情况下,为什么不使用开发配置文件将您的应用分发到例如您的 QA 团队,而不是临时分发?
编辑:请在回答之前仔细阅读粗体部分。我不是在问一个基本的“这是如何工作的”问题。我做了很多开发、临时和应用商店构建,现在我发现我似乎做了一些错误的假设。
【问题讨论】:
【参考方案1】:在一种情况下,您需要 Ad Hoc 配置文件,这就是您想要测试推送通知的时候。
如果您在开发配置文件上测试推送通知,则需要使用开发推送通知证书发送您的推送通知,以便 SSL 连接到 Apple 的沙盒 APNS 服务器。
如果您想使用生产推送通知证书和实时 APNS 服务器测试推送通知,您必须使用分发证书和临时配置文件(包括执行 Entitlement.plist如果您只使用开发人员配置文件,通常可以跳过这种延迟)。
另请注意,当您使用 Ad Hoc 配置文件进行部署时,您的设备令牌将不同于您在使用开发配置文件时使用的设备令牌。这也是测试 APN 的推荐方法,因为在 Ad Hoc 构建和 AppStore 上的最终实时部署之间不需要进行后端更改。
【讨论】:
是否可以在使用开发配置文件的同一设备上使用 Ad Hoc 进行测试?我相信我做的一切都是正确的,但没有收到警报。我有一种感觉是因为我首先使用开发配置文件授权了设备上的警报。 我相信你在这个答案中所说的是真的,推送通知是区分这些的主要问题,但如果这是真的,为什么 Apple 的文档一再建议需要设置分发配置文件用于团队成员之间的共享。在他们的所有文档中,都暗示您需要的不仅仅是开发人员个人资料才能与他人共享,即使情况似乎并非如此。有什么改变吗?见:developer.apple.com/library/ios/#technotes/tn2250/_index.html#//… 我有一个问题请仔细阅读。这个问题中没有提到。我可以使用带有 ssl 开发推送通知的临时配置文件来测试推送通知吗? @hasan83 不可以。您必须使用生产证书才能使用 Ad Hoc 进行测试【参考方案2】:Ad-Hoc 不适合开发人员,而是适合测试人员。没有 iPhone SDK / XCode 的人,只有 iTunes。
(答案是:无需开发者证书即可安装 ad-hoc 应用,而开发应用则无法安装)
【讨论】:
但是我能够在没有开发者证书的情况下安装开发应用程序,只要我有开发配置文件。开发配置文件是否包含开发者的私钥?这就是它起作用的原因吗? 这很有趣。必须再挖掘一点才能回答这个问题。 而且,顺便问一下,你能在没有 Xcode 的情况下安装 developer build 吗? 是的;我的同事就是这样做的。他没有安装 Xcode。 您不能使用 AdHoc 配置文件调试应用程序,但您可以使用开发人员。我认为这是主要区别。【参考方案3】:方法一:从 XCode 安装
开发配置文件要求您(最初)从 XCode 中运行应用程序。
这具有将设备标记为用于开发的副作用,但还需要您将 iPhone/iPod Touch 连接到运行 XCode 的机器。从 XCode 运行应用程序后,该应用程序将安装在设备上,您不再需要连接到机器来运行它。 (直到您想要更新应用程序。)
方法 2:从 iTunes 安装
Ad-Hoc 配置文件允许您将应用程序提供给任何人,并让他们使用 iTunes 自行安装。你发给他们:
应用,以及 即席配置文件他们选择这两个并将它们拖到 iTunes 上。然后同步。
稍后,您可以只向他们提供应用程序的更新版本(没有 Ad-Hoc Provisioning Profile,因为他们已经在他们的设备上安装了该应用程序),他们可以将新应用程序拖到 iTunes 图标上以安装新版本。
Ad-Hoc 分发的一个限制是,它要求您将每个设备 ID 输入 iPhone 开发门户。并且每年有 100 个设备 ID 的限制(您不能删除任何 ID,直到明年开始 - 只能添加它们)。对于大多数开发人员来说,100 个 ID 的限制不会成为障碍,请记住,您需要提前获取设备 ID,然后再创建 Ad-Hoc Provisioning Profile 以发送给您要安装应用程序的人.
【讨论】:
你没有回答我的实际问题。以上是关于为啥不使用开发配置而不是临时配置?的主要内容,如果未能解决你的问题,请参考以下文章
javaEE中的服务器web.xml配置的时候为啥一定要配置servlet,而不用配置jsp