gpt4 book ai didi

ios - 以编程方式从另一个应用程序下载内部应用程序

转载 作者:行者123 更新时间:2023-11-29 12:00:40 24 4
gpt4 key购买 nike

我们有很多内部应用程序,需要像 AppStore 这样的应用程序。我们做了一个演示。我们可以打开已安装的应用程序,但未安装在 iPhone 上的应用程序无法从我们的服务器下载到 iPhone。

我们这样做:

if([UIApplication sharedApplication] canOpenURL:..] == false){
NSString *schemelink = [NSString stringWithFormat:@"itms-services://?action=download-manifest&url=%@",**plist_url**];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:schemelink]]
}

我们为找到原因所做的事情:

  1. 将 plist url 复制并粘贴到 Mac Safari,我检查了 plist,它是正确的一切(ipa 链接和其他)。他们都在同一条路上。
  2. 仅复制粘贴 ipa 网址。它开始在 Mac 上下载。
  3. 使用 itms-services://?action=download-manifest&url= 复制粘贴 ipa url,上面写着

There is no application set to open the URL ......ipa Search the App Store for an application that can open this document, or choose an existing application on your computer.

我该如何解决?

.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>https://....../AppName.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.company.AppName</string>
<key>bundle-version</key>
<string>1.3</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>AppName</string>
</dict>
</dict>
</array>
</dict>
</plist>

最佳答案

您的 plist 文件应该托管在 HTTPS 启用 SSL 的服务器上,否则您将无法安装它。

我附上了一个包含示例数据的示例 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>https://127.0.0.0/app/App.ipa</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>url</key>
<string>https://127.0.0.0/app/icon57.png</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>url</key>
<string>https://127.0.0.0/app/icon512.jpg</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.companyname.appname</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>Your application name</string>
</dict>
</dict>
</array>
</dict>
</plist>

将以下所有文件放在服务器上的同一目录中。

  • App.ipa
  • icon57.png
  • icon512.jpg
  • list .plist

您的下载 URL 应如下所示。

itms-services://?action=download-manifest&url=https://127.0.0.0/app/manifest.plist

Example Click here to download App.

Also make sure your server supports MIME Type of application/octet-stream for ipa and text/xml for plist.

关于ios - 以编程方式从另一个应用程序下载内部应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37156632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com