ios 制作framework含多个库(framework)

制作framework 


1.首先新建一个项目,选择Cocoa touch Framework

Cocoa touch Framework

2.然后随便取一个名字

3.导入将要封装在framework里面的第三方库

导入第三方库

4.导入将要封装成framework的代码拖入工程

5.选择工程文件>target第一项>Build Setting>搜索linking,然后几个需要设置的选项都显现出来,首先是Dead Code Stripping设置为NO,网上对此项的解释如下,大致意思是如果开启此项就会对代码中的” dead”、” unreachable”的代码过滤,不过这个开关是否关闭,似乎没有多大影响,不过为了完整还原framework中的代码,将此项关闭也未曾不可。

The resulting executable will not include any “dead” or unreachable code

然后将Link With Standard Libraries关闭,我想可能是为了避免重复链接

最后将Mach-O Type设为Static Library,framework可以是动态库也可以是静态库,对于系统的framework是动态库,而用户制作的framework只能是静态库。

6.然后将需要公开的头文件从Project中拖入Public,至于是否需要将私有的头文件拖入Private,我觉得直接放在Project中即可,若是Private中有头文件,打包以后的framework中会多出一个Private的文件夹包含着放入Private的头文件,不过我觉得如果是私有最好还是不要让别人看到。

7. Build Settings ->Build Active Architecture Only设置为NO. (图中的选项如果设为YES,会导致其编译时只生成当前机器的框架;将其设置为NO后,发现用模拟器编译后生成的framework同时包含x86_64和i386架构。)

8. Build Phases -> Link Binary With Libraries 添加需要封装在内部的第三方framework

9. 添加使用Cocoapods管理第三方

    1.cd到项目目录下 vim podfile

    2.    platform :ios,'8.0'

            target 'MyLiveSDK' do

            use_frameworks!

            pod 'AFNetworking', '~>3.0.4'

            pod 'MBProgressHUD', '0.9.2'

              target'MyLiveSDKTests' do

                inherit! :search_paths

              end

            end

    3. pod install

10.添加framework内部使用的图片和音乐

    1.创建Bundle        

    2. 把Base SDK  改成 iOS

    3.直接把图片或者音频资源导入就可以

    4.Command+B 直接Build一下 生成.bundle

    5.把生成的.bundle直接拖入到相应的framework

    6.获取图片的时候    .bundle/图片名字

10.修改 Debug  改为 Release

11.下面就开始编译,先选择真机,先清理一下, 按下Command+Shift+K, 在按下Command+B Build一下的到的是支持真机的framework 然后在随意选择一个模拟器在次Build一下得到支持模拟器的framework

当红色变成黑色的时候就好了

12.合成SDK 

    1、lipo –create 真机路径 模拟器路径–output 生成的新路径。

    2、把新生成的文件替换掉真机路径sdk内的相同文件。

    3、真机路径的Framework就是最终可以使用的路径。

13.将这做好的framework直接拖到要使用的工程中  导入framework 内部第三方需要的依赖,并且导入.bundle需要的图片资源   

你可能感兴趣的:(ios 制作framework含多个库(framework))