【发布时间】:2017-07-10 18:49:57
【问题描述】:
我有一个项目
- 一个应用目标:
MyApp - 一个嵌入式框架目标:
MyKit.framework - 一个应用程序扩展目标:
MyExtension
我想在MyExtension 中使用MyKit 的共享代码,但是当我链接它时,我收到了警告
ld: warning: linking against a dylib which is not safe for use in application extensions: /Users/me/Library/Developer/Xcode/DerivedData/MyApp-dnztzmxjghjlsteetlokzhjtjqkm/Build/Products/Debug-iphonesimulator/MyKit.framework/MyKit
要将应用扩展目标配置为使用嵌入式框架,请将目标的“仅需要应用扩展安全 API”构建设置设置为“是”。如果你不这样做,Xcode 会通过显示警告“链接到 dylib 对在应用程序扩展中使用不安全”来提醒你这样做。
默认设置正确。我可以通过将“仅需要应用扩展安全 API”设置为 NO 来消除警告,但这可能会导致某些应用被拒绝。
框架不会在应用扩展中使用任何API not allowed。实际上,在示例项目中,您会看到 MyKit.framework 仅将消息记录到控制台。
从应用程序扩展链接到嵌入式框架以避免这种警告的正确方法是什么?
【问题讨论】:
标签: ios xcode xcode8 ios-app-extension ios-frameworks