美文网首页傲视苍穹iOS《Swift》VIP专题Swift移动端设计研发
swift——创建自己的framework,以及真机和模拟器两版

swift——创建自己的framework,以及真机和模拟器两版

作者: Bart_Simpson | 来源:发表于2017-03-18 16:21 被阅读466次

    macOS Sierra 版本 10.12.2

    Xcode版本   8.2.1

    创建工程,选最左边那个

    然后将你的文件加入这个工程

    因为是swift版本,所以没有.h文件。你需要将你的类还有调用的方法前面加上public

    点击run  选择Edit Scheme

    将Debug改为Release,点击Close

    回到工程中,在模拟器进行编译  command+B  ,编译完成以后再次在真机上选择编译,编译成功以后。

    去文件夹

    终端输入 lipo -create 真机路径 模拟器路径 -output 真机路径(ps:这几个路径就是上图拖动到终端后的路径)

    然后输入lipo -info加真机上的这个文件路径回车会打印这些内容

    但是并没有完,不知道为什么,终端这样合并只是假象,你需要手动去将Modules里的swiftdoc文件合并到一起

    因为上面的操作是-output的真机路径,所以你要将模拟器的这些东西拷贝,复制上图对应的真机文件夹里面去。如下图:

    现在大功告成!oc和swift混编的framework也可以这样合并!

    如有转载请注明出处,谢谢。

    相关文章

      网友评论

      • crafttang:也可以参考这个文章, 将里面的script拷贝到scheme configuration 的post-actions中去,免得手工拷贝文件.https://eladnava.com/publish-a-universal-binary-ios-framework-in-swift-using-cocoapods/
        Bart_Simpson:很感谢,不过我项目里是把加密算法弄成Framework,所以没有弄成cocoapods形式。 而且中途的步骤有点看不懂。。。 但是想问这样子的通用框架在项目中上传发布可以成功嘛? 我记忆中好像之前项目有合并版的Framework所以导致被拒。而且只上传真机版Framework更小。。。
      • 琥珀之剑:为什么创建了framework 无法调用里面的类,就根本识别不了
        琥珀之剑:@Bart_Simpson 加了public 好像是我把真机生成的framework 用到了模拟器上 所以不能用,把真机relese debug 跟模拟器 relsse debug 版本搞糊涂了
        Bart_Simpson:是swift嘛? 你有加public么?
      • 四Yue大人:swift就看到你的可以,谢啦....
        Bart_Simpson:@四Yue大人 不用谢,多多交流。
      • chdo002:谢谢!!看了那么多的文章,就你的解决问题了,请问你是怎么知道那个Modules里的文件是需要复制过去的呢?
        Bart_Simpson:有大神在我疑惑的时候告诉我的,然后我就分享出来了。网上的都是没有这一步的=。=

      本文标题:swift——创建自己的framework,以及真机和模拟器两版

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