美文网首页sdk
关于'XXXX' is unavailable: cannot

关于'XXXX' is unavailable: cannot

作者: xiaoleiiOS | 来源:发表于2019-03-21 17:44 被阅读0次

    最近被Swift和OC混编折磨了许久,许多问题都一知半解,现在记录一下在使用自己的framework时,遇到一个问题。

    Swift App工程导入了混合OC+Swift的Swift Framework,在使用其中的Swift类时报错:
    'XXXX' is unavailable: cannot find Swift declaration for this class

    奇怪了,Swift代码调用Swift Framework中的Swift类,居然找不到申明。
    但是用OC类引用framework中的Swift类时,却是可以使用,而且编译也没有问题。无语中...😓

    最后在stackoverflow看到一个解决方案,才顺利解决,现在记录一下解决方案。

    • 首先创建完通用framework后,执行一下步骤:
      1、打开合并之前的Release-iphoneos和Release-iphonesimulator包
      2、进入XXXX.framework/Modules/XXXX.swiftmodule
      3、复制文件 .swiftdoc.swiftmodule
      4、打开通用framework
      5、进入XXXX.framework/Modules/XXXX.swiftmodule
      6、粘贴在步骤3中的文件
      最后的通用框架包路径XXX.framework/Modules/XXX.swiftmodule/应包含以下文件:
      arm.swiftdoc
      arm.swiftmodule
      arm64.swiftdoc
      arm64.swiftmodule
      i386.swiftdoc
      i386.swiftmodule
      x86_64.swiftdoc
      x86_64.swiftmodule
      因为Swift编译器需要每个架构的swiftmodule映射文件。

    好了,到这里就解决了Swift App工程导入了混合OC+Swift的Swift Framework,使用其中的Swift类时报错的问题。

    终于解决了,真是心累呀!!!

    参考文献:https://stackoverflow.com/questions/35030199/myclass-is-unavailable-cannot-find-swift-declaration-for-this-class

    相关文章

      网友评论

        本文标题:关于'XXXX' is unavailable: cannot

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