美文网首页iOS sdk 开发相关
ios 静态库framework包含其他静态库的制作步骤

ios 静态库framework包含其他静态库的制作步骤

作者: MyPolly快归来吧 | 来源:发表于2017-08-04 18:59 被阅读0次

    最近在为合作方做一个framework的静态库,里面引用了高德地图的SDK,以下是我制作的过程中总结的经验:

    创建:

    1. 打开Xcode创建一个framework :


    2. 修改以下几处的配置参数 :

    这个一定要改

    3. Build Phases -> Headers,可以看出有三个选项,分别是Public,Private,Project;把需要暴露给别人的.h文件拖到Public中,剩下的不要暴露的,即为隐藏的文件,放在Project中

    4. 把需要的静态库拖到项目中,但是Add to targets 项不要打钩(这样其他项目调用静态库时,再把需要的其他静态库添加到应用中,不用担心重复添加的问题),改路径:右键项目Show in Finder , 然后把其他静态库所在的文件夹拖到 Build Settings -> Framework Search Paths 中,具体看下图:

    5. 编译:分别选择真机和模拟器进行 command + B

    6. 都编译过后就要合并两个库。选中XX.framework右键,Show in Finder,会看到在product文件夹下有两个文件夹 Release-iphoneos 和 Release-iphonesimulator

    在终端把两个framework合并

    lipo -create 模拟器下的framework里的MapUsingFramework文件的路径 真机下的framework里的MapUsingFramework文件的路径 -output 最终放置的路径/MapUsingFramework(与合并的文件名一样,没有后缀)如:

    lipo -create /Users/zhengmei/Desktop/合并/3/Release-iphoneos/MapUsingFramework.framework/MapUsingFramework /Users/zhengmei/Desktop/合并/3/Release-iphonesimulator/MapUsingFramework.framework/MapUsingFramework -output /Users/zhengmei/Desktop/合并/3/MapUsingFramework

    把合并后的文件替换有Header文件夹的framework下的相同文件,并把Info.plish文件删掉

    到这里,framework已经制作完成了

    使用:

    把framework拖到项目中,设置framework和framework下Header的路径,把framework中的Header文件夹拖到 Build Settings -> Header Search Paths

    相关文章

      网友评论

        本文标题:ios 静态库framework包含其他静态库的制作步骤

        本文链接:https://www.haomeiwen.com/subject/epsvlxtx.html