Jan*_*Jan 9 xcode ios ios-frameworks ios-app-extension xcode8
我有一个项目
MyAppMyKit.frameworkMyExtension我想使用的共享代码MyKit的MyExtension,但是当我联系了,我得到的警告
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
Run Code Online (Sandbox Code Playgroud)
要配置应用程序扩展目标以使用嵌入式框架,请将目标的"仅限应用程序扩展安全API"构建设置设置为"是".如果不这样做,Xcode会提醒您这样做,方法是显示警告"链接到dylib并不安全,无法在应用程序扩展中使用".
默认情况下正确设置.我可以通过将"仅限App-Extension-Safe API"设置为NO来消除警告,但这可能会导致某些应用程序被拒绝.
该框架不使用应用程序扩展中不允许的任何API.实际上,在示例项目中,您将看到MyKit.framework仅将消息记录到控制台.
从应用程序扩展链接到嵌入式框架的正确方法是什么,以避免这种错误?
sha*_*ght 14
如果您的目标是在App和Extension之间共享代码,则无需创建Framework.您可以将源文件添加到不同的目标:
要使用框架,请YES在框架目标构建设置中设置"仅需要App-Extension-Safe API" .执行此操作后,示例项目中没有警告.
基于意见的补充:由于您不希望在项目之间共享代码,因此使用框架对我来说没有意义.如果你想在项目之间共享代码并因此决定使用框架,我建议在自己的版本控制下使它成为一个独立的Xcode项目.
| 归档时间: |
|
| 查看次数: |
4587 次 |
| 最近记录: |