但这里有许多陷阱:
>添加扩展后,您需要导入一些类来查看添加新扩展目标时创建的控制器.这里最重要的是你需要添加所有这些,如果你有大项目,这不是一个简单的任务.解决方案可以选择扩展目标然后在Build Phases – >编译源按加号按钮并使用热键CMD A将所有.m文件添加到目标.
>添加所有文件后,您可以看到某些方法无法正常工作,您可以看到此错误:’sharedApplication’不可用:iOS(App Extension)上不可用,因此解决方案可以是检查ifndef扩展的宏,然后我们可以调用sharedApplication代码.
> #import< Foundation / Foundation.h> vs #import< UIKit / UIKit.h>.所以我没有弄清楚这个问题,但是当我用UIKit取代Foundation时,它对我有用,并且所有相关问题都消失了.
> CocoaPods.我们所有人都在使用CocoaPods,所以如果您的扩展需要使用项目代码的某些部分,并且该代码使用CocoaPods库,那么您需要将link_with’ProjectTarged’,’ExtensionTarget’添加到Pod文件并再次进行pod安装以绑定您的库有了新的扩展目标.
所以这是我面临的一个要点.也许有人可以建议如何解决这个问题,因为我说我只需要将一个所需文件导入扩展视图控制器.导入的文件包含一些库,如AFNetworking,RestKit和主项目中的其他嵌套类.我需要这个类来调用几个方法,将数据从扩展名传递到我的后端服务器.所以一个文件,但很多问题.
解决方法
post_install do |installer_representation| installer_representation.project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO' end end end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。