Phonegap 构建临时 OTA

Posted

技术标签:

【中文标题】Phonegap 构建临时 OTA【英文标题】:Phonegap Build ad-hoc OTA 【发布时间】:2012-11-16 22:10:08 【问题描述】:

上下文: 我正在使用 Phonegap Build 为临时 OTA 分发(针对 beta 测试人员)构建一个 .ipa 文件。我在我的 Phonegap 构建配置文件中添加了一个新密钥(这是我公司的概念证明),它是分发证书和导出为 .p12 文件的私钥。然后,我从 Apple 开发门户请求并下载了临时用户的移动配置文件。我从不久前构建的本机应用程序中创建了自己的 .plist,然后将 .ipa 放在具有通常下载和安装说明的 Web 服务器上。 .ipa 文件 几乎 已安装,然后我收到一条错误消息,指出无法下载该文件。我在管理器中查看了设备日志,并没有太多内容。控制台只是告诉我MobileInstallationInstall: failed with -1 是问题所在。当我做同样的事情,但使用开发人员配置并将开发人员证书导出到 .p12 时,我可以通过 iTunes 毫无问题地安装它。但我似乎无法完全确定 OTA 发行版。

关于我为什么会得到这个以及我能做些什么来解决它有什么想法吗?这是我从过去的项目中制作的清单 plist:

编辑:是的,设备已正确分配给配置文件。

<plist version="1.0">
  <dict>
    <key>items</key>
    <array>
      <dict>
        <key>assets</key>
        <array>
          <dict>
            <key>kind</key>
            <string>software-package</string>
            <key>url</key>
            <string>http://myserver/adhoc_download/myapp.ipa</string>
          </dict>
          <dict>
            <key>kind</key>
            <string>full-size-image</string>
            <key>needs-shine</key>
            <true/>
            <key>url</key>
            <string>http://myserver/adhoc_download/images/icon-ipad3.png</string>
          </dict>
          <dict>
            <key>kind</key>
            <string>display-image</string>
            <key>needs-shine</key>
            <true/>
            <key>url</key>
            <string>http://myserver/adhoc_download/images/icon-iphone4.png</string>
          </dict>
        </array>
        <key>metadata</key>
        <dict>
          <key>bundle-identifier</key>
          <string>com.mycompany.myapp</string>
          <key>kind</key>
          <string>software</string>
          <key>subtitle</key>
          <string></string>
          <key>title</key>
          <string>myapp</string>
        </dict>
      </dict>
    </array>
  </dict>
</plist>

【问题讨论】:

您能否分享您的 Web 服务器设置以在浏览器中下载 ipa 文件。 请点击以下链接进行OTA分发aaronparecki.com/2011/021/article/1/…davidbits.blogspot.in/2011/05/… @rpellru- 我没想到要检查网络服务器设置;我会在星期一检查它们。我之前做过很多OTA发行,所以我很了解这个过程;我只是还没有使用 Phone Gap Build .ipa。 @repelluru - 如果网络服务器不允许 .ipa mime 类型,我认为下载几乎不会在死前完成。不过,我会检查的。 【参考方案1】:

嵌入在 ipa 中的配置文件真的是您认为的那个吗?一旦配置文件的错误版本进入构建或设备,就很难摆脱。

我建议将 ipa 上传到 testflight - 它的工作原理应该与手动 plist 设置大致相同,但会让您更清楚地了解实际安装的内容。

【讨论】:

是的,我之前使用过试飞,但您给了我一个想法,让我从设备中手动删除应用程序的所有配置文件。如果这样做可以解决问题,我会回来并将您的解决方案标记为答案。谢谢! 事实证明,我使用分发证书和分发临时移动配置文件来签署 Phone Gap Build 上的 ipa。您想要的是在电话间隙构建中使用开发人员证书和临时分发证书。非常令人沮丧,但至少它已经解决了。我确实将这里的 beta 测试切换到了 TestFlight。我过去使用过它,但产品在过去一年变得更好。谢谢!【参考方案2】:

我对此犯的另一件事是,我试图将开发人员证书的私钥与 .p12 文件中的分发证书一起使用。所以,这只是需要注意的其他事情。

【讨论】:

以上是关于Phonegap 构建临时 OTA的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap 插件无法使用远程构建

使用 phonegap build 构建 phonegap 应用程序

不包括 Phonegap 构建插件

使用 PhoneGap Build 为 iOS 构建现有的 PhoneGap 项目

android的phonegap本地构建问题

小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载一(PhoneGap中的API)