自定义一个Framework包,将包加入某个工程时,使用Developer的Provision Profile编译运行都没问题,但是使用企业Enterprise真机运行时报错:
[deny-mmap] mapped file has no team identifier and is not a platform binary: /private/var/mobile/Containers/Bundle/Application/1E29E625-4C0D-472B-AAAA-6B013089F566/xxxxxx.app/Frameworks/xxx.framework/xxx
dyld: Library not loaded: @rpath/P2PFrameWork.framework/XXXFrameWork
Referenced from: /private/var/mobile/Containers/Bundle/Application/A73BA51A-693C-412E-B8CF-0DF409F92C47/XXX.app/XXX
Reason: image not found
经过非常艰苦的尝试和研究,发现是iOS8或新Xcode首先对第三方库或Framework进行了更加严格的检测;其次一个问题,可能是Xcode一个bug:签名证书和Provision profile需要更新才行,很奇怪,网上有人说把签名证书的Always Trust改为默认,每次询问就可以了,但是我尝试不行。
最终步骤是:删除钥匙串中的企业签名证书和密钥,新生成一个证书申请,到苹果开发者网站去重新前一个Distribution证书,以及配套的Provision profile,然后Xcode使用最新的Provision profile和证书签名,运行,OK。
累死了。