ios开发
我最近在学习封装Framework库,在学习过程中遇到要了如题问题:当我使用封好的系统默认的动态库时,报如下错误:dyld: Library not loaded: @rpath/MySDK.framework/MySDKReferenced from: /var/mobile/Applications/08B6D2C2-5028-4A64-93F5-1252B0B0BCAB/MyApp.app/MyAppReason: no suitable image found. Did find:/private/var/mobile/Applications/08B6D2C2-5028-4A64-93F5-1252B0B0BCAB/MyApp.app/Frameworks/MySDK.framework/MySDK: code signature invalid for '/private/var/mobile/Applications/08B6D2C2-5028-4A64-93F5-1252B0B0BCAB/MyApp.app/Frameworks/MySDK.framework/MySDK'在网上找到如下2种解决方案,先介绍一下我自己的使用心得:第一种:在
上图Link Binary With Libraries中的Required改为Optional就没事了,实际真机运行发现不是回事,即使不报错了,但是无法运行该framework里的方法协议。也就是说,这个库完全不起作用,我自己实现的库,肯定是要使用封装好的功能,所以这个方案Pass,希望大家引以为戒,不要去使用这种方案了,just waste time。 方案2:在
点击1处加号,会自动添加2处也就是copy files,3处选择为frameworks,在4处添加你自己的framework,添加完成后build,ok。我使用后确实解决了bug问题,封装的SDK也达到了初步能用的地步,但是封装的功能并没有完全可以使用,也有可能是库封装的不完整问题。。PS:我封装的。a库是可以完美使用的PPS:如何创建区分动态库还是静态库:1、查看MySDK.framework是否为动态库(xcode6下默认是动态库)2、若不需要使用动态库,则将其改为静态库,并重新生成framework
3、若必须使用动态库,则需要在MyApp的工程中做如下配置(未验证,网上是这么说的)
TO ALL:以上是我使用系统默认的动态库的方式的使用心得,我认为应该封出静态库,后续学习过程中再续博。。