用的是动态库没有提供真机和模拟器的合成

     
 近期商家的一个商厦项目,由于中期感觉做集团应用嘛,就很随性的取舍了新学的swift技能。中期须要相比不难加上swift越用越顺手(个人认为写界面代码比OC少了某些吨代码),很快四个多星期就出了首个测试版本了。四个月后突然又需求公布AppStore了,好吧恐怖的梦来了。

初稿链接:http://www.phperz.com/article/14/1222/42460.html

坑一:

荒谬描述

今天测试一个iOS程序,在模拟器下是正规运作的,到真机上跑一贯报错了,错误音信是:

dyld: Library not loaded:
/System/Library/Frameworks/GameController.framework/GameController
Referenced from:
/var/mobile/Applications/E19A46C1-C0EC-4DC3-A9CE-DC84811DD7E8/GameTest
iOS.app/GameTest iOS Reason: image not found

类型里面用到了金山云的SDK(ps:估摸相比较小众难题比较多),用的是动态库没有提供真机和模拟器的合成,我为了能让工程同时辅助模拟器和真机调试就自做主持的合成了一个Debug-iphonesimulator和Release-iphoneos库,那样合成在iOS8上面不设有难题,在iOS7系统下编译会报以下错误:解决办法一是毫不合成的,二是合成三个Release版本或者Debug版本就行了。解决措施一是毫无合成的,二是合成七个Release版本或者Debug版本就行了。

由来剖析&解决方式

一顿搜索之后发现那么些难点得暴发是因为引用得一些framework只可以存在于高版本得sdk中,可是,倘若编译到低版本的ios就会时有爆发这么的难题,我的真机是iOS6的本子的,GameController.framework可能超过这些版本,那里只须求在对应的target下的Build
Phases标签里,找到Link Binary With
Libraries,在内部找到GameController.framework,把status由Required 修改成Optional,然后再运行就OK了。其余的framework报错也适用,只须求修改对应的framework的status就行了。

图片 1

dyld: Library not loaded: @rpath/KS3YunSDK.framework/KS3YunSDK

Referenced from:
/var/mobile/Applications/83F916A5-53E5-48BA-9D49-45C12A04DD23/test.app/test

Reason: no suitable image found.  Did find:

/private/var/mobile/Applications/83F916A5-53E5-48BA-9D49-45C12A04DD23/test.app/Frameworks/KS3YunSDK.framework/KS3YunSDK:
code signature invalid for
‘/private/var/mobile/Applications/83F916A5-53E5-48BA-9D49-45C12A04DD23/test.app/Frameworks/KS3YunSDK.framework/KS3YunSDK’

涸泽而渔办法一是无须合成的,二是合成四个Release版本或者Debug版本就行了。

竭泽而渔办法一是毫无合成的,二是合成七个Release版本或者Debug版本就行了。

解决办法一是不要合成的,二是合成四个Release版本或者Debug版本就行了。(因为根本所以写四回相对手敲的)

坑二:

好吧解决完适配难题就足以愉悦的等待提交了,泡好一杯水坐等苹果漫长的upload进程。看完今天的头条抬头发现居然没上传成功,好吧收拾好心理难题又来了。

!!!又是金山云惹的祸,百度曾经解决不了那种宝贵的题材了,好不简单一看来一个一样难点的帖子居然还平昔不提供有关的缓解方案,于是就有了本篇了。

首先swift扶助ios7上述系统,也就是从7.0事后就援救动态库了,那上头看大家的最低适配版本也是从7.0初阶完全符合了,为了免去工程布署原因重新选取Deployment
Target为8.0付给依旧报错。金山云的技术支持说他们用OC写的种类,同样运用的动态库是可以提交AppStore的,不过我从未试过相信应该是可以的。最终我们只能需求金山云提供一个静态库来化解这一个标题。

透过只可以算得swift如今还不是很周全来覆盖自己的蠢笨了,记录完这么些埋头去找原因去了,假设有何人看到这篇作品又亮堂答案的话谢谢告诉我声

相关文章