加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iOS Ad-Hoc OTA发行版适用于iOS 6,但在iOS 5中失败

发布时间:2020-12-14 17:41:57 所属栏目:百科 来源:网络整理
导读:我在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. O
我在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,然后提供警报视图

Unable to Download Application

could not be downloaded at this time.

Done/Retry

将设备连接到Xcode以查看组织者中的日志.
控制台具有以下内容:

apsd[48] : : Stream error occurred for : Error Domain=NSPOSIXErrorDomain Code=61 “The operation couldn’-t -b-e -c-o-m-p-l-e-t-e-d-. -C-o-n-n-e-c-t-i-o-n -r-e-f-u-s-e-d-” -U-s-e-r-I-n-f-o-=-0-x-1-4-7-0-8-0 -{-}

正是这样,包括“ – ”字符.

通过iTunes同步在相同的iOS 5设备上安装相同的ad-hoc构建工作正常,没有错误.

帐户类型是“普通”开发者帐户,而不是企业.

我已经尝试从头开始创建所有配置文件.
没有尝试删除和创建新证书,希望它不是必需的.

应用程序不使用iCloud或推送,或任何东西.捆绑包中不包含Entitlements.plist.

可能很重要的是,应用程序是使用CocoaPods构建的 – 一堆构建为Pods目标的第三方库.

解决方法

那么,你肯定会惊讶地发现实际的原因是什么.

我最终撤销了所有证书,删除了配置文件,从CSR一直到建立一个构建环境.我确实尝试了权利和’get-task-allow’等内容.但这一切都没有.

在某些时候,我决定再看看用于分发的IIS服务器和plist文件.
所以在这里,问题在于plist文件.
iTunes图片图像文件名为“iTunesArtwork.png”,plist文件中的URL为http:// hostname / Mobile / iOS / iTunesArtwork.

所以我将文件重命名为“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服务器设置.
可以肯定的是,与IIS不同,使用apache iOS 5可以很好地容忍丢失的扩展,所以它不仅仅是iOS 5,而是iOS 5和IIS的混合导致所有麻烦.

但是,如果我在plist中放置像http:// hostname / Mobile / iOS / NoSuchFile这样的东西代替艺术品,那么iOS 5将无法安装OTA,而iOS 6甚至不会注意到任何事情并继续安装.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读