爱悠闲 > XCode6添加自定义framework运行真机出现dyld: Library not loaded的解决方法

XCode6添加自定义framework运行真机出现dyld: Library not loaded的解决方法

分类: iOS  |  标签: ios开发,framework,xcode,mobile,ios  |  作者: cooldragon 相关  |  发布日期 : 2014-11-05  |  热度 : 1621°

笔记下,备忘。

环境:Mac OS X 10.9.5,XCode 6.0.1

XCode6上iOS上开发新增了新建framework项目的功能,方便封装和分发代码。

新建了一个workspace,包含了2个iOS framework项目,一个iOS App项目,在App项目的Link Binary With Libraries里加入引用:

注:代码引用自己的framework XCode会出现警告:Missing submodule 'ThridParty.XXXXX'等,貌似stackoverflow上说是xcode bug,实际编码、模拟器和真机运行时没有问题,有知道的同学告知下。

回正题,这样环境直接跑模拟器,没有任何问题,真机跑时出现:

dyld: Library not loaded: @rpath/RLLibrary.framework/RLLibrary
  Referenced from: /var/mobile/Applications/AE92B234-A818-445E-9D69-96E232BD50EB/RLProjectDemo.app/RLProjectDemo
  Reason: image not found
(lldb)

看网上不少人说是将上图Link Binary With Libraries中的Required改为Optional就没事了,实际真机运行发现不是回事,即使不报错了,但是也是无法运行程序。

仔细看错误原因,应该是没有找到framework文件包,So,怎么编译时打包进去呢?如图,点击那个+号:

添加Copy Files节点,在Destination中选Frameworks,再点击下面+号,选择自定义的framework,ok,真机 Build,Run,这个世界美好了。