在Swift中使用CommonCrypto会导致在扩展警告中使用不安全

时间:2015-04-05 17:48:36

标签: ios macos swift ios-frameworks commoncrypto

我创建了一个简单的lib来为Swift使用HMAC摘要,称为" SweetHMAC" 。这个lib非常简单,基本上是Swift中CommonHMAC.h的包装器。

我可以正确地使用SweetHMAC构建和部署任何iOS项目,但是,由于某些安全问题,我的方法并不安全。例如,运行iOS测试后会收到警告。

warning: linking against dylib not safe for use in application extensions

这段代码不够安全,无法放入iOS AppStore,应用程序可以被拒绝。对于OSX,没有问题。

我知道,有Swift的HMAC端口,但我的挑战是尝试让Swift安全地使用CommonCrypto。

我使用this approach实现了这个项目并且运行正常!

我的问题是,如何才能在iOS中安全地为Swift框架中的CommonCrypto创建和使用模块?

1 个答案:

答案 0 :(得分:2)

查看Apple的文档,对所述错误的建议是确保使用"仅需要App-Extension-Safe API"检查。

  

要配置应用扩展程序目标以使用嵌入式框架,请将目标的“仅限应用程序扩展安全API”构建设置设置为“是”。如果不这样做,Xcode会提醒您这样做,方法是显示警告“链接到dylib并不安全,无法在应用程序扩展中使用”。

Here's the full documentation on extensions

值得注意的是,根据this discussion

,部分CommonCrypto API可能无法使用