我创建了一个简单的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创建和使用模块?
答案 0 :(得分:2)
查看Apple的文档,对所述错误的建议是确保使用"仅需要App-Extension-Safe API"检查。
要配置应用扩展程序目标以使用嵌入式框架,请将目标的“仅限应用程序扩展安全API”构建设置设置为“是”。如果不这样做,Xcode会提醒您这样做,方法是显示警告“链接到dylib并不安全,无法在应用程序扩展中使用”。
Here's the full documentation on extensions
值得注意的是,根据this discussion
,部分CommonCrypto API可能无法使用