前因:棋牌游戏提审苹果包异常艰难,通过不了,玩家无法从appstore中下载到应用。
解决办法:
采用落地页进行分发,ios用户点击页面上的下载后,会跳转一个链接,例如: itms-services://?action=download-manifest&url=https://www.test.com/plist/gamename.plist
链接中配置了一个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://plist.test.com/plist/gameName.ipa</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>url</key>
<string>https://plist.test.com/image/icon.png</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>url</key>
<string>https://plist.test.com/image/icon.png</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>bundle-identifier(包名)</string>
<key>bundle-version</key>
<string>3.7.1</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>gameName</string>
</dict>
</dict>
</array>
</dict>
</plist>
以上内容为平台plist内容
software-package:
对应一个ipa的下载地址:https://gameName.ipa
display-image、full-size-image
分别为2种不同尺寸的icon图
bundle-identifier:
app包名,在ipa解压出来后,对应CFBundleIdentifier这个字段,在xcode工程中对应Bundle Identifier
bundle-version:
版本,对应CFBundleShortVersionString字段,在xcode工程中对应version
title:
桌面图标名称,对应CFBundleDisplayName字段,在xcode工程中对应Display Name
上面的CFBundleIdentifier、CFBundleShortVersionString、CFBundleDisplayName在ipa解压出来后的info.plist文件中可以找到。
info.plist中有很多相近的信息内容,可能会混淆
例如:
CFBundleDisplayName和CFBundleName
CFBundleShortVersionString和CFBundleVersion
字段具体内容查看如下文章:
https://www.jianshu.com/p/e8c686a00027
http://www.cocoachina.com/ios/20160922/17611.html
找外面公司重签企业签后,特别是修改包名后,需要解压之后检查一下配置信息。平台那边的plist文件和解压出来的info.plist文件中的字段相对应才能正常下载。
包名中前后有空格也会导致不一致。
下载后快速信任
这个需要平台处理,上传包后,将ipa解压出来,在解压出来的文件中找到描述文件,然后找到企业签的名称,将企业签的名称展示出来,在页面上提供点击后直接跳转系统设置的企业签列表,找到对应名称的企业签信任即可。