从iOS上的自托管网址下载并安装ipa

时间:2014-05-09 09:41:35

标签: ios ipa

我需要直接从网址下载并安装ipa

我试过这个:

NSURL *url = [NSURL URLWithString:@"https://myWeb.com/test.ipa"];
[[UIApplication sharedApplication] openURL:url];

该应用启动Safari,但会显示以下消息:

Error Message "Download Failed, Safari cannot download this file."

有可能吗?

8 个答案:

答案 0 :(得分:112)

要通过无线方式分发您的应用(OTA,这意味着没有使用TestFlight或官方App Store),您可能需要创建3个不同的文件,即:

  • .ipa文件(使用ad-hoc配置文件)
  • 的index.html
  • manifest.plist

您可以使用 Beta Builder 生成这些文件:

  1. 归档您的构建。
  2. 将.ipa保存在桌面上。
  3. Beta Builder下载小型实用程序here。这完成了大部分所需的任务。
  4. 打开该工具并选择您的.ipa文件,然后提供您将在https://myWeb.com/MY_TEST_APP上将该版本放置在测试版构建器中的路径。
  5. 生成所有文件。
  6. 现在上传index.htmlyour_App.ipa和& manifest.plist到您的服务器路径https://myWeb.com/MY_TEST_APP
  7. 现在分享index.html的链接。打开此文件后,系统会要求您点击安装。
  8. 它会在您的设备上安装your_App.ipa
  9. 您也可以手动执行此操作。

    <强>的index.html

    <a href="itms-services://?action=download-manifest&url=https://myWeb.com/MY_TEST_APP/manifest.plist">Install App</a>

    <强> manifest.plist

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <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://YOUR_SERVER_URL/YOUR-IPA-FILE.ipa</string>
                    </dict>
                </array>
                <key>metadata</key>
                <dict>
                    <key>bundle-identifier</key>
                    <string>com.yourCompany.productName</string>
                    <key>bundle-version</key>
                    <string>1.0.0</string>
                    <key>kind</key>
                    <string>software</string>
                    <key>title</key>
                    <string>YOUR APP NAME</string>
                </dict>
            </dict>
        </array>
    </dict>
    </plist>
    

    如果应用拒绝安装或运行,您可能需要检查以下项目:

    • 您在编译/存档应用时使用的配置文件
    • index.htmlmanifest.plist
    • 中的网址
    • plist文件可能需要托管在HTTPS服务器上。如有必要,您可以使用Dropbox。
    • 您的设备UUID可能需要在Apple开发人员中心内注册,除非您拥有企业许可证
    • 您可能需要在“设置”&gt;中手动启用对应用的访问权限。配置文件

答案 1 :(得分:12)

更简单地说,您可以使用DropBox。步骤基本保持不变。 您可以执行以下操作 - :

1)将您的.ipa上传到dropBox,分享此.ipa

的链接

2)将.ipa的共享链接粘贴到manifest.plist文件中,再次在DropBox中上传清单文件,共享此.plist文件的链接

3)使用合适的标记将此Plist的链接粘贴到index.html文件中。

与任何可以点按网址并下载的人共享此index.html文件。或者你可以直接点击URL。

答案 2 :(得分:5)

是的,safari将检测* .ipa并尝试安装它,但ipa需要正确签名,只允许设备安装它。

http://www.diawi.com是一项可以帮助您完成此过程的服务。

所有这些都是针对Ad-hoc分发的,而不是针对生产应用程序。

有关以下链接的更多信息: Is there a way to install iPhone App via browser?

答案 3 :(得分:3)

有一些简化此共享过程的在线工具,例如https://abbashare.comhttps://diawi.com 使用adhoc或内部配置文件从xcode创建ipa文件,并在这些站点上传此文件。 我更喜欢abbashare,因为保存文件在您的保管箱上,您可以随时删除它

答案 4 :(得分:2)

使用Xcode8

回答企业帐户
  1. 通过选中&#34;并使用清单plist复选框导出.ipa&#34;并提供所要求的链接。

  2. 将.ipa文件和.plist文件上传到服务器的同一位置(在导出.plist文件中提到的.ipa /时提供的位置)。

  3. 如下所示创建下载链接。 url应链接到.plist文件位置。

    ITMS服务://动作=下载舱单&安培; URL = https://yourdomainname.com/app.plist

  4. 复制此链接并将其粘贴到iPhone中的safari浏览器中。它会要求安装:D

  5.   

    使用此完整网址

    创建一个html按钮

答案 5 :(得分:1)

如果您想直接从您的网站下载并安装该应用,则无法实现。企业可以通过无线方式部署和安装应用程序。您的URL应指向一个Web服务,该服务托管Apple要求的预定义格式的清单plist文件。该服务应该返回清单文件的URL,然后可以按如下方式使用:

NSString *urlString = // url string where your manifest.plist is deployed on your server.
NSURL *installationURL = [NSURL URLWithString:[NSString stringWithFormat:@"itms-services://?action=download-manifest&url=%@",[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
[[UIApplication sharedApplication] openURL];

希望这能回答你的问题。

答案 6 :(得分:0)

NSURL *url = [NSURL URLWithString:@"itms-services://?action=download-manifest&amp;url=https://xxxxxx.com/rest/images/apps/ipa/dev/xyz.plist"]];
[[UIApplication sharedApplication] openURL:url];

openUrl方法为deprecated

[[UIApplication sharedApplication] openURL: url options:@{} completionHandler:nil];

此方法latest openUrl方法将显示提示对话框。该对话框将显示

xxxxxx.com要安装“ YOUR_APP_NAME”

此消息。如果单击“安装”按钮,则应用程序将关闭,ipa将下载。

答案 7 :(得分:-1)

创建一个在其上运行Windows的虚拟机,并将该文件下载到共享文件夹。 :-D