【问题标题】:Over The Air (OTA) iOS IPA File Distribution For Public?面向公众的无线 (OTA) iOS IPA 文件分发?
【发布时间】:2014-11-20 10:59:59
【问题描述】:

我看到这个中国 company 为他们的应用程序/服务提供了一个演示,这是一个 .ipa 文件。您可以简单地通过 Safari 访问您的 iPhone 上的链接,然后您可以安装演示 .ipa 文件。

link 位于 iphone 应用程序下载按钮的正下方。

这让我想知道是什么阻止了人们在 Apple 应用商店之外以这种方式分发他们的应用。一个法律问题,但技术上可以吗?

我还想知道他们使用的配置文件是什么,从 Xcode 生成这个具有如此广泛安装能力的 .ipa 文件。就 Ad Hoc 分发配置文件而言,它只允许 100 个用户,仍然正确吗?这是我不知道的其他一些配置文件吗?我最好的猜测是,这是一个普通的企业安装,他们只是为世界上的每个人制作......他们可以吗?

我已经在我的 iPhone 4 上尝试过演示,它运行良好。登录页面左侧的按钮是注册。右边的按钮是登录。尝试使用名称(使名称唯一)和密码注册,只要您能收到成功消息即可。可以登录了。

【问题讨论】:

    标签: ios provisioning-profile ipa


    【解决方案1】:

    嗯,您说的是 OTA(无线)ADHOC 或 ENTERPRISE 分发。多年来,我一直在为我的 beta 测试人员这样做。

    您不需要任何企业程序来执行此操作,尽管现在使用 Xcode 6 有点困难,因为在您归档项目以进行分发后,ADHOC 分发不再创建必要的 plist 文件。

    我不知道企业程序在您可以安装应用程序的设备方面是如何工作的(是否需要在您的开发人员门户中为每个设备注册 UDID)但是如果您需要部署您的向您的测试人员测试应用程序,这些测试人员的设备已在开发者门户的“设备”选项卡中注册,您可以使用我在下面解释的内容。

    那么,你是怎么做到的?我会分步解释:

    请注意:您需要在上传 IPA 和 Plist 文件的服务器上使用加密 SSL 连接(或至少仅用于 Plist 文件 - 如果您您的服务器上没有 SSL 连接,请参见下文)。

    1. 在您的开发者门户中为您的 App ID 生成一个 ADHOC 分发配置文件。还要选择可以安装您的发行版的设备。只有那些设备可以安装应用程序。

    2. 在 Xcode 中,转到 Preferences > Accounts > Your Account > View Details > Refresh。

    3. 在 Xcode 中,转到您的项目 > 目标 > 您的目标 > 代码签名 > 为您的构建模式选择正确的 ADHOC 分发配置文件。

    4.清理您的项目。

    5.选择您的设备作为构建设备,即使它没有连接到您的计算机,并构建您的项目以确保没有错误发生。

    6. 选择您的设备后,归​​档您的项目。

    7. 在 Xcode 的 Organizer 中选择 Export > Save for ADHOC Deployment > 选择您的帐户并确保您的存档使用正确的 Provisioning Profile(如果您没有看到完整的名称,请按住将鼠标光标悬停在剪切的文本上几秒钟,它就会出现)。

    8. 使用简单的名称命名您的文件并将其保存到您选择的位置。

    9.你还需要一个 Plist 文件来编辑,因为 Xcode 不再生成一个,所以我已经为你上传了一个模板here。我已经在该 plist 中放置了示例并进行了相应的编辑。

    10. 将您的 IPA 文件和 Plist 文件上传到启用 SSL 的服务器。您还应该更改我上传的 Plist 文件的名称以匹配您的 IPA 文件的名称。

    11. 创建如下链接:itms-services://?action=download-manifest&url=http://yourdomain.com/AppName.plist

    12. 将链接发送给您的测试人员,他们必须在其设备上单击该链接,然后会显示安装警报。

    现在,如果您没有启用 SSL 的服务器,您可以将 Plist 文件上传到您的 Dropbox 帐户,同时将 IPA 文件保存在您的未启用 SSL 的服务器上,并像这样使用它:

    1. 获取文件的链接。应该是这样的:https://www.dropbox.com/s/a8hpnmq654pmbaw/AppName.plist?dl=0

    2. 复制以 /s/..... 开头的所有内容并删除 ?dl=0 参数。

    3. 像这样创建您的安装链接: itms-services://?action=download-manifest&url=https://dl.dropbox.com/s/a8hpnmq654pmbaw/AppName.plist

    4. 将链接发送给您的测试人员以在他们的设备上打开它。

    【讨论】:

    • 他们没有我的 UDID,但我仍然可以安装这个应用程序。我想第一个答案应该是这样的。感谢您的详细回复。
    • 这意味着他们注册了企业计划。但是除了 UDID 注册之外,步骤是相同的​​。
    • 非常感谢! Apple 官方文档未更新...特别感谢您提供的示例 plist 文件。
    • 您的说明是关于如何设置仅由具有付费 Apple 开发人员帐户的开发人员将应用程序以无线方式分发到已批准的 UDID 设备,对吗?如果没有付费 ADP 帐户,我可以通过 Xcode 将我的应用程序安装到测试设备上,前提是该设备接受我的个人 Apple ID 配置文件。我还可以设置 OTA 应用分发吗?
    • @ziggurism 我不知道,但我不这么认为,因为您需要的 OTA 配置文件是分发类型,而不是您通过免费 ADP 帐户获得的开发类型。
    【解决方案2】:

    我在一家公司工作,该公司也在一家私人商店发布,而且它的工作方式非常相似。唯一不同的是,Apple 不会检查应用,上传需要 1 分钟,而不是 2 周。

    它是如何工作的:

    1. 为企业分发生成 ipa(使用正确的配置文件)
    2. 将 ipa 上传到任何你想要的地方,如果你需要一些漂亮的东西,你可以制作一个应用,列出你的 IPA(你自己的私人商店)及其相关信息,以及一个下载链接(如下所示)
    3. 上传 .plist 文件并将其设置为 url 字段中的 url 是您在步骤 1 中上传的 .ipa。
    4. 在你想要的地方用这一行创建一个基本的 HTML 页面:
    5. 用户现在可以点击它并下载 ;)

      <a href="itms-services://?action=download-manifest&url=YOUR-UPLOADED-PLIST-FILE.plist">Click here ;-)</a>
      

    请注意,您不能像这样公开发布应用。例如,这意味着在您自己的公司内分发应用程序。更具体地说,例如,我们有 4 个应用程序。商店、时间表应用程序、联系人/地址簿以及其他不需要解释的特定应用程序。但公开分享任何这些应用程序(或下载链接)将违反 Apple 的EULA。尝试在 Apple 应用商店发布也不会通过审核。

    话虽如此,在很多情况下,这对于许多公司来说非常实用和有用,因为您可以不遵循任何指导方针,避免紧张的审查。

    还有其他问题吗:)?

    【讨论】:

    【解决方案3】:

    Xcode 9 为临时分发提供了无线安装构建选项。

    但是苹果好像没有提供基本的安装html页面。因此,需要创建一个如图所示的 here

    这里是该站点的此类页面的 html。

    <!DOCTYPE html>
    <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 
      <title>Install Geoloqi</title>
      <style type="text/css">
        body {
          background: url(bkg.png) repeat #c5ccd4;
          font-family: Helvetica, arial, sans-serif;
        }
        .congrats {
          font-size: 16pt;
          padding: 6px;
          text-align: center;
        }
        .step {
          background: white;
          border: 1px #ccc solid;
          border-radius: 14px;
          padding: 4px 10px;
          margin: 10px 0;
        }
        .instructions {
          font-size: 10pt;
        }
        .arrow {
          font-size: 15pt;
        }
        table {
          width: 100%;
        }
      </style>
    </head>
    <body>
    
    <div class="congrats">Congrats! You've been invited to the beta of Geoloqi.</div>
    
    <div class="step">
      <table><tr>
        <td class="instructions">Install the<br />Geoloqi app</td>
        <td width="24" class="arrow">&rarr;</td>
        <td width="57" class="imagelink">
          <a href="itms-services://?action=download-manifest&url=http://loqi.me/app/Geoloqi.plist">
            <img src="geoloqi-icon.png" height="57" width="57" />
          </a>
        </td>
      </tr></table>
    </div>
    
    </body>
    </html>
    

    【讨论】:

    • 不错!我没见过这个。我很高兴看到 Apple 现在明确支持这一点。
    • 是否需要注册设备的UDID才能安装?
    • @nemoryoliver 是的,除非您有企业帐户(内部部署)
    【解决方案4】:

    他们可能使用企业开发者帐户。 见:https://developer.apple.com/programs/ios/enterprise/

    如果他们的链接在互联网的某个地方,他们很可能会遇到法律问题。

    干杯, 费边

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-07
      • 1970-01-01
      • 2014-05-04
      • 1970-01-01
      • 2013-02-27
      • 2020-05-25
      • 1970-01-01
      相关资源
      最近更新 更多