San*_*ago 34 install download ios
更新iOS 8.1.3后,我尝试下载,但出现错误" 无法下载应用程序 "和"此时无法安装 "消息.
我必须考虑8.1.2和8.1.3之间的变化是什么?
下载模式:
<a href ="itms-services://?action = download-manifest&url = https://****.plist">
谢谢!
小智 34
经过几个小时的破坏braincells,这是我如何做到的:
注意:我目前尚未针对iOS 8.1.2或更低版本进行测试(请谨慎使用!)
对于已经使用您的OWN企业证书签名的应用程序,您只需编辑manifest.plist即可(如RAStudios在其编辑中所述).
之前:
<key>bundle-identifier</key>
<string>uk.co.acme.AcmeApp</string>
后:
<key>bundle-identifier</key>
<string>S836XXACME.uk.co.acme.AcmeApp</string>
对于已由第三方签名且您正在使用企业证书进行签名的应用程序(本演练假设ipa文件为AcmeApp.ipa,您的权利文件为entitlements.plist,您的配置文件为provProvile.mobileprovision;所有文件在桌面文件夹(Mac OSX)中,S836XXACME是您的团队标识符):
创建一个新的entitlements.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>application-identifier</key>
<string>S836XXACME.uk.co.acme.AcmeApp</string>
<key>get-task-allow</key>
<false/>
</dict>
</plist>
解压缩ipa:
cd ~/Desktop
unzip AcmeApp.ipa 
删除代码签名:
rm -r Payload/AcmeApp.app/_CodeSignature/ 
复制到mobileprovision文件中:
cp provProfile.mobileprovision Payload/AcmeApp.app/embedded.mobileprovision 
协同设计:
codesign -f -s "iPhone Distribution: ACME Corporation Limited" --entitlements entitlements.plist Payload/AcmeApp.app
将其作为辞职的ipa压缩:
zip -qr AcmeApp_resigned.ipa Payload/
您还需要根据之前的'ALREADY'签名部分修改manifest.plist文件:
<key>bundle-identifier</key>
<string>S836XXACME.uk.co.acme.AcmeApp</string>
编辑: 经过进一步测试后,我发现只需匹配工具中的捆绑ID Info.plist和工作中的捆绑ID,即可manifest.plist在iOS 8.1.3上通过无线方式安装应用程序. 如果此解决方案不起作用,请尝试以下解决方案.
解决问题:
您的应用程序必须具有有效权限entitlements.plist,其中包括更正应用程序的有效捆绑包标识符.
如果您要分发使用iOS开发证书签名的应用程序,请参阅您应用程序中应包含的entitlements.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>application-identifier</key>
    <string>com.yourbundleidhere.mycoolapp</string>
    <key>com.apple.developer.team-identifier</key>
    <string>com.yourbundleidhere.mycoolapp</string>
    <key>get-task-allow</key>
    <true/>
    <key>keychain-access-groups</key>
    <array>
        <string>com.yourbundleidhere.mycoolapp</string>
    </array>
</dict>
</plist>
如果您使用的是通配符配置文件,请替换com.yourbundleidhere.mycoolapp为yourwildcardappid.*.在这两种情况下,您都可以使用iResign正确地重新签名应用程序,并包含现在需要的,entitlements.plist.
解释问题
由于安全补丁(见这里下CVE-2014-4493),未经entitlements.plist,应用程序将无法安装.安全补丁使应用程序不会覆盖现有应用程序并安装在其顶部/替换它们.
我已经做了很多实验.根据我的经验,manifest.plist文件中的bundle标识符实际上并不重要.最重要的是要使entitlements.plist正确.
我不建议手动创建它,而是建议使用以下脚本(信用)从配置文件生成它:
# Create an entitlements file
# parse provision profile
security cms -D -i "provProfile.mobileprovision" > ProvisionProfile.plist 2>&1
# generate entitilements.plist
/usr/libexec/PlistBuddy -x -c "Print Entitlements" ProvisionProfile.plist > Entitlements.plist 2>&1
然后,您可以将此权利文件与codesign实用程序上的--entitlements选项一起使用.
小智 -1
ios 8.1.3:内部应用程序需要使用 MDM 进行分发。
移动安装
影响:恶意企业签名应用程序或许能够控制设备上已有应用程序的本地容器
描述:应用程序安装过程中存在漏洞。已通过防止企业应用程序在特定场景中覆盖现有应用程序来解决此问题。
来自苹果发布说明
| 归档时间: | 
 | 
| 查看次数: | 22464 次 | 
| 最近记录: |