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

dpiehjr4  于 2023-05-19  发布在  iOS
关注(0)|答案(9)|浏览(275)

我需要直接从URL下载并安装ipa
我试过这个:

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

应用程序启动Safari,但随后出现以下消息:

这可能吗?

wbgh16ku

wbgh16ku1#

要通过空中(OTA,这意味着 * 不使用 * TestFlight或官方App Store)分发您的应用程序,您可能需要创建3个不同的文件,即:

  • .ipa文件(使用即席资源调配配置文件)
  • index.html
  • manifest.plist

有关详细信息,请参阅https://support.apple.com/en-gb/guide/deployment/depce7cefc4d/web
您可以寻找一个服务来为您生成它们,或者您可以手动完成:

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中的URL
  • plist文件可能需要托管在HTTPS服务器上。如果需要,您可以使用Dropbox。
  • 您的设备UUID可能需要在Apple Developer Center中注册,除非您拥有企业许可证
  • 您可能需要在设置>配置文件中手动启用对应用程序的访问
e37o9pze

e37o9pze2#

更简单地说,你可以使用Dropbox来实现这一点。步骤基本上保持不变。您可以执行以下操作-:
1)上传你的.ipa到dropBox,分享这个.ipa的链接
2)将.ipa的共享链接粘贴到您的manifest.plist文件中,在DropBox中上传manifest文件再次共享此.plist文件的链接
3)将此Plist的链接粘贴到您的index.html文件中,并带有适当的标记。
与任何可以点击URL并下载的人共享此index.html文件。或者你可以直接点击URL。

vlf7wbxs

vlf7wbxs3#

是的,safari将检测 *.ipa并尝试安装它,但ipa需要正确签名,并且只有允许的设备才能安装它。
http://www.diawi.com是一个可以帮助您完成此过程的服务。
所有这些都是针对Ad-hoc分发,而不是生产应用程序。
更多信息在下面的链接:Is there a way to install iPhone App via browser?

yhxst69z

yhxst69z4#

Xcode 8企业账号应答

1.通过选中“with manifest plist复选框”导出.ipa并提供所需的链接。
1.将.ipa文件和.plist文件上传到服务器的同一位置(在导出.ipa/时提供的位置)。
1.按如下所示创建下载链接。url应链接到您的.plist文件位置。
itms-services://?action=download-manifest&url= https://yourdomainname.com/app.plist
1.复制此链接并将其粘贴到iPhone的safari浏览器中。它会要求安装:D
使用此完整url创建html按钮

jutyujz0

jutyujz05#

有一些在线工具可以简化这个共享过程,例如https://abbashare.comhttps://diawi.com使用adhoc或inhouse配置文件从xcode创建一个ipa文件,并将此文件上传到这些网站上。我更喜欢abbashare,因为保存文件在您的dropbox,你可以删除它,只要你想

ghhaqwfi

ghhaqwfi6#

如果您想直接从您的网站下载并安装应用程序,则不可能。对于企业来说,通过无线方式部署和安装应用程序有一种不同的方式。您的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];

希望这能回答你的问题。

alen0pnh

alen0pnh7#

现在有更多的新工具提供了更多的新功能来分发甚至管理你的项目和应用程序(ipa和apk),在我看来,https://appforshare.io是最近的新工具,除了分发ad-hoc或开发版本之外,它还做了很多事情。

6kkfgxo0

6kkfgxo08#

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将下载。

qvk1mo1f

qvk1mo1f9#

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

相关问题