iOS Ad-Hoc OTA发行版适用于iOS 6,但在iOS 5中失败
我在Ad-Hoc版本的无线(OTA)发行方面遇到了麻烦.
使用基本SDK 6.1,部署目标5.0,架构armv7和armv7构建通用iPhone / iPad应用程序.同样的ad-hoc构建在iOS 6设备(3种不同的iPhone5,一种iPhone4和iPad2)上安装OTA,但无法在iOS 5设备(iPhone4S和iPad1)上安装OTA. OTA通过IIS发生,所有MIME类型都设置正确(否则iOS 6将失败). 在iOS 5设备上,它启动安装showin app图标,带有进度条,第一个标题为“Waiting …”,然后更改为app name,然后提供警报视图
将设备连接到Xcode以查看组织者中的日志.
正是这样,包括“ – ”字符. 通过iTunes同步在相同的iOS 5设备上安装相同的ad-hoc构建工作正常,没有错误. 帐户类型是“普通”开发者帐户,而不是企业. 我已经尝试从头开始创建所有配置文件. 应用程序不使用iCloud或推送,或任何东西.捆绑包中不包含Entitlements.plist. 可能很重要的是,应用程序是使用CocoaPods构建的 – 一堆构建为Pods目标的第三方库. 解决方法
那么,你肯定会惊讶地发现实际的原因是什么.
我最终撤销了所有证书,删除了配置文件,从CSR一直到建立一个构建环境.我确实尝试了权利和’get-task-allow’等内容.但这一切都没有. 在某些时候,我决定再看看用于分发的IIS服务器和plist文件. 所以我将文件重命名为“iTunesArtwork”(删除了扩展名),但没有解决问题,但我现在可以看到安装进度条几乎到了结尾,状态消息从“正在下载”变为“正在安装”.在此之前,它在一开始就失败了,就在说“等待”之后. 最后,我按顺序放置所有内容,将文件命名为“iTunesArtwork.png”并将修复后的URL命名为http://hostname/Mobile/iOS/iTunesArtwork.png 这就是它的工作原理. 我只能提出以下解释: 在安装开始之前,iOS正在检查plist中的所有URL是否指向有效资源.如果其中任何一个失败,iOS 5将中止安装,而iOS 6至少可以容忍无效的艺术品URL. 在安装过程中,iOS首先获取应用程序图标以在屏幕上显示它,然后下载ipa文件,最后获取图稿.在这里,同样,iOS 5有更严格的验证规则,它不会像’iTunesArtwork’这样的名字,我认为它只是不喜欢没有扩展名的文件名.如果提取图稿失败,则iOS 5上的整个安装将中止. iOS 6似乎在此阶段忽略了错误. 我个人认为iOS 5是正确的.验证所有URL是否有效以及所有文件都具有适当的扩展名是一件好事.如果两个iOS版本都以同样的方式完成,我会在一开始就偶然发现问题. UPD 刚试过在Mac OS X 10.8上运行的apache web服务器设置. 但是,如果我在plist中放置像http:// hostname / Mobile / iOS / NoSuchFile这样的东西代替艺术品,那么iOS 5将无法安装OTA,而iOS 6甚至不会注意到任何事情并继续安装. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |