iOS9,10系统安装不了企业包的原因

1,537 阅读3分钟

最近碰到奇葩问题,企业包只在iOS9,iOS10下载安装不了报错:

其他手机是可以下载的, 但是查看项目APP和extension都是最低支持iOS8,iOS9的,没有理由iOS10不能下载的 开始不好定位原因,因为没有日志输出 后面通过mac 控制台输出日志来看,在后来通过github.com/FIRHQ/LogGu… 通过来看日志输出的,但是还是很模糊 后面通过蒲公英工具来看日志

报错日志(摘录): itunesstored➜LaunchServices: installing placeholder for <LSApplicationProxy: 0x124e76920> xxx.xxx.xxxxx.xxxxx <(null) Not found in database>

itunesstored➜LaunchServices: Creating installProgressForApplication:<LSApplicationProxy: 0x124dc0bc0> xxx.xxx.xxxxx.xxxxx (Placeholder) file:///private/var/mobile/Containers/Bundle/Application/FDF5263C-2219-4717-9DB9-CB3BBCB9CBA6/-5601841554507081690.app withPhase:0 20:43:50 itunesstored➜LaunchServices: installPhaseFinishedForProgress: xxx.xxx.xxxxx.xxxxx.Loading - <NSProgress: 0x124da4d80> : Parent: 0x0 / Fraction completed: 1.0000 / Completed: 1 of 1 called, removing progress from cache

installd➜0x16e2d3000 +[MIContainer allContainersForIdentifier:options:error:]: 348: No bundle container found for identifier xxx.xxx.xxxxx.xxxxx

mobile_installation_proxy➜0x16e087000 LoadInfoPlist: Failed to create CFBundle from URL file:///private/var/mobile/Containers/Bundle/Application/95B91FA1-0D01-4195-A855-7B7E1A3D5D83/PGDribbble.app

LSInstallProgress: In subscribeBlock: could not find parent progress for xxx.xxx.xxxxx.xxxxx, it may have been removed

libMobileGestalt MobileGestalt.c:276: server_access_check denied access to question UniqueDeviceID for pid 222

CircleJoinRequested➜Can't read state data (p=file:///var/mobile/Library/Preferences/com.apple.security.CircleJoinRequested.plist, err=Error Domain=NSCocoaErrorDomain Code=260 "未能打开文件“com.apple.security.CircleJoinRequested.plist”,因为它不存在。" UserInfo={NSFilePath=/var/mobile/Library/Preferences/com.apple.security.CircleJoinRequested.plist, NSUnderlyingError=0x154508a60 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}})

0x16e6cb000 -[MIPluginKitPluginBundle overlaidInfoPlistWithError:]: 215: Appex bundle at /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.t4Qs2I/extracted/Payload/xxxx.app/PlugIns/XsitScreen.appex with id xxx.xxx.xxxxx.xxxxx.shareScreenExtension specifies a value (com.apple.broadcast-services-upload) for the NSExtensionPointIdentifier key in the NSExtension dictionary in its Info.plist that does not correspond to a known extension point.

iPhone installd → : 0x16e12f000 -[MIPluginKitPluginBundle overlaidInfoPlistWithError:]: 159: Appex bundle at /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.KYuLig/extracted/Payload/xxx.app/PlugIns/iChatScreen.appex with id xxx.xxx.xxxx.shareScreenExtension specifies a value (com.apple.broadcast-services-upload) for the NSExtensionPointIdentifier key in the NSExtension dictionary in its Info.plist that does not correspond to a known extension point. 10:36:06 iPhone itunesstored → : 0x16e12f000 __MobileInstallationInstallForLaunchServices_block_invoke222: Returned error Error Domain=MIInstallerErrorDomain Code=59 "Appex bundle at /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.KYuLig/extracted/Payload/xxx.app/PlugIns/iChatScreen.appex with id xxx.xxx.xxxx.shareScreenExtension specifies a value (com.apple.broadcast-services-upload) for the NSExtensionPointIdentifier key in the NSExtension dictionary in its Info.plist that does not correspond to a known extension point." UserInfo={LegacyErrorString=AppexBundleUnknownExtensionPointIdentifier, FunctionName=-[MIPluginKitPluginBundle overlaidInfoPlistWithError:], SourceFileLine=159, NSLocalizedDescription=Appex bundle at /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.KYuLig/extracted/Payload/xxx.app/PlugIns/iChatScreen.appex with id xxx.xxx.xxxx.shareScreenExtension specifies a value (com.apple.broadcast-services-upload) for the NSExtensionPointIdentifier key in the NSExtension dictionary in its Info.plist that does not correspond to a known extension point.} 10:36:06 iPhone lsd → : LaunchServices: Setting progress = FAILED for app xxx.xxx.xxxx

in the NSExtension dictionary in its Info.plist that does not correspond to a known extension point." UserInfo={LegacyErrorString=AppexBundleUnknownExtensionPointIdentifier, FunctionName=-[MIPluginKitPluginBundle overlaidInfoPlistWithError:]

that does not correspond to a known extension point 后面慢慢从长长日志中找出了关键点,所以一定要耐心,我差点都放弃了 找出了com.apple.broadcast-services-upload这个错误,是录屏extension导致的,所以后面把录屏extension移除掉,把有关录屏第三方sdk移除掉,下载成功了 并项目运行成功,原来 是支持iOS11以上,而在录屏extension设置支持iOS9没有什么效果,这也是一大坑. 写出来目的让后面碰到这种问题能快速解决,不会浪费太多时间在这

如果碰到这种情况要有录屏功能又要适配低版本怎么办呢?因为这是考虑的,做法就是添加extension时选择支持最低版本应该是选择当前extension支持最低版本,不能虚假支持更低版本,不然导致低版本安装不了。切记!!

蒲公英借鉴:www.pgyer.com/doc/view/io…

借鉴链接:blog.csdn.net/mingming24/… blog.csdn.net/lck8989/art…

苹果官网:developer.apple.com/library/arc…