我在Swift框架中使用CommonCrypto-并且已经运行了一年多。

我使用了在这里找到的解决方案:Importing CommonCrypto in a Swift framework

具体来说,要从Swift框架引用CommonCrypto,我必须:

在框架的Xcode项目旁边的名为module.map的文件夹中创建CommonCrypto文件。 module.map内容:

module CommonCrypto [system]
{
    header "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/CommonCrypto/CommonCrypto.h"
    link "CommonCrypto"
    export *
}
  • 在我的框架项目的Swift导入路径中,添加CommonCrypto
  • 在我的框架项目的“库搜索路径”中,我包括:$(SDKROOT)/usr/lib/system
  • 在我的源代码中,我包括:import CommonCrypto

  • 效果很好;有点令人费解-但它奏效了。

    但是,在Xcode 7.3 beta 1(7D111g)中,此技术不再起作用。

    似乎libcommonCrypto.tbd已从以下位置中删除:Xcode-beta.app中的$(SDKROOT)/usr/lib/system。而且我在iPhoneOS SDK文件夹结构下的任何地方都找不到它。

    所以我得到这些错误:



    如果将疯狂的模块 map 业务替换为更简单的事情,那将是很好的。例如,仅使用import CommonCrypto
    无论如何,我不确定如何解决此问题,因此不胜感激。

    如果解决方案与上一个问题中的解决方案有很大的不同,我在这里作为一个新问题提出,尽管我知道这可能不合适。

    最佳答案

    看来解决方案是删除该行:

    link "CommonCrypto"
    

    从module.map文件中。

    10-07 13:02