美文网首页
no matching architecture in univ

no matching architecture in univ

作者: _compass | 来源:发表于2019-11-26 16:35 被阅读0次

    最近封装一个iOS的framework,编译的时候发现报:
    “no matching architecture in universal wrapper”错误。
    应该是framework没有合并的问题。

    打开控制台,使用lipo -info就能看到 framework的信息,例如:

     lipo -info /Users/compass/RealmSwift/RealmSwift.framework/RealmSwift 
    Architectures in the fat file: /Users/compass/RealmSwift/RealmSwift.framework/RealmSwift  are: x86_64
    

    这里的RealmSwift framework是模拟器上的x86_64,我需要把armv7 arm64 也合并进去,假设这两个framework分别在Device和Simulator下,使用:

    lipo -create Device路径 Simulator路径 -output Output最终路径
    

    例如

    lipo -create /Users/compass/Device/RealmSwift/RealmSwift.framework/RealmSwift  /Users/compass/Simulator/RealmSwift/RealmSwift.framework/RealmSwift -output /Users/compass/Output/RealmSwift/RealmSwift.framework/RealmSwift
    

    查看合并之后的信息:

     lipo -info /Users/compass/Output/RealmSwift/RealmSwift.framework/RealmSwift
    Architectures in the fat file: /Users/compass/Output/RealmSwift/RealmSwift.framework/RealmSwift are: x86_64 armv7 arm64
    

    即为最终需要的合并的framework。将其加入工程里的Embedded Binaries即可。

    相关文章

      网友评论

          本文标题:no matching architecture in univ

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