(0091)iOS开发itms-services协议安装IPA安装包

(0091)iOS开发itms-services协议安装IPA安装包在 iPhone 上使用 itms services 协议安装 IPA 安装包 iOS 开发之 ipa 包如何企业分发 itms services

有一个这样的需求:一些大厂比如:BATDS等,开发的应用很多,有些应用只是员工使用,只需要内部分发,不需要上架AppStore。那么怎么让员工通过iPhone下载尼?

这里就讲一下如何不上架AppStore 通过企业证书打包的ipa 企业分发?

首先:苹果允许用itms-services协议来直接在iphone/ipad上安装应用程序,我们可以直接生成该协议需要的相关文件,这样产品经理和测试都可以直接在设备上安装新版的应用。

1. 第一步准备:
  1. 299$的企业账号
    用于打包,只有用企业证书打包的ipa才能下载
  2. 对应的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://bsssit.cjh.com/dtap/public/app/ios/VoiceCollection.ipa</string> </dict> <dict> <key>kind</key> <string>full-size-image</string> <key>needs-shine</key> <true/> <key>url</key> <string>https://bsssit.cjh.com/dtap/public/app/ios/configFile/audiopro.png</string> </dict> <dict> <key>kind</key> <string>display-image</string> <key>needs-shine</key> <true/> <key>url</key> <string>https://bsssit.cjh.com/dtap/public/app/ios/configFile/audiopro.png</string> </dict> </array> <key>metadata</key> <dict> <key>title</key> <string>话术</string> <key>bundle-version</key> <string>1.0.0</string> <key>kind</key> <string>software</string> <key>bundle-identifier</key> <string>com.chj.VoiceCollection</string> </dict> </dict> </array> </dict> </plist> 

这个我的测试过plist,注意plist 的结构,一定不能搞错(有同事搞错这个文件,害得我和后台找了2天才搞定)

software-package:url :ttps://bsssit.cjh.com/dtap/public/app/ios/VoiceCollection.ipa (你的ipa的地址) url:logo图片的地址 bundle-identifier:com.xx.xx:(bundleID需要ipa中需要保持一致) bundle-version:1.0.0 (CFBundleVersion需要和ipa中的保持一致) title:话术 (随便起,用于踊跃alert确认时的提示) 

在这里插入图片描述
3. IPA安装包一个

2.部署plist文件与IPA安装包

itms-services协议:

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

部署plist文件的地址必须是https,不然在iPhone设备上可能会导致“无法连接到xxx”这样的提示,导致安装失败。如果没有https服务器。可以利用开源中国(http://git.oschina.net/)提供的代码托管服务,托管一下plist文件,然后ipa的安装包和index.html依旧放在自己的服务器上.itms-services协议后面的url地址,改成在plist文件在开源中国上的url(注意url结束到.plist为止,后面的那一串参数不要带,直接手动把http改为https)。

将修改后的plist放到https 的服务、把企业证书打的ipa 上传到自己的服务器。

3.下载使用

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

<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Install</title>
    </head>
    <body>
        <p align=center>
          <font size="10">
            <a style="color:#69DEDA" href="itms-services://?action=download-manifest&url=https://.../xxx.plist">立即下载</a>
          </font>
        </p>
    </body>
</html>

  • 我们可以看到 “href=” 里面是指向了 plist 文件的地址(而不是IPA安装包的地址)
  • 最好还是使用iPhone设备自带的Safari浏览器打开该页面,下载。
    在这里插入图片描述
    上面是Safari 下载,在应用中更新的代码:有更新时触发下面的代码
NSString *scheme = @"itms-services://?action=download-manifest&url=https://.../xxx.plist"; [self openScheme:scheme]; 
- (void)openScheme:(NSString *)scheme { UIApplication *application = [UIApplication sharedApplication]; NSURL *URL = [NSURL URLWithString:scheme]; if (@available(iOS 10.0, *)) { [application openURL:URL options:@{} completionHandler:^(BOOL success) { NSLog(@"Open %@: %d",scheme,success); }]; } else { // Fallback on earlier versions if ([application canOpenURL:URL]) { [application openURL:URL]; } } } 

直接安装实例:(慧眼)

 UIApplication *application = [UIApplication sharedApplication]; NSURL *URL = [NSURL URLWithString:@"itms-services://?action=download-manifest&url=https://oss.suning.com/sastore/snapp/upload/app_inner/ios//cc1c8baa88705aab909e571c435eef81.plist"]; if (@available(iOS 10.0, *)) { [application openURL:URL options:@{} completionHandler:^(BOOL success) { NSLog(@"Open %@: %d",scheme,success); }]; } else { // Fallback on earlier versions if ([application canOpenURL:URL]) { [application openURL:URL]; } } 

借鉴:https://www.bianchenghao.cn/p/4eeddf929b90

今天的文章 (0091)iOS开发itms-services协议安装IPA安装包分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2025-01-03 09:30
下一篇 2025-01-03 09:27

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/100710.html