iOS 8扩展依赖项问题.将一个项目文件导入扩展视图控制器

前端之家收集整理的这篇文章主要介绍了iOS 8扩展依赖项问题.将一个项目文件导入扩展视图控制器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发iOS 8扩展.我阅读了很多手册,所有这些手册都只显示了为您的应用添加扩展程序的简单程度,似乎已经足够了.

但这里有许多陷阱:

>添加扩展后,您需要导入一些类来查看添加新扩展目标时创建的控制器.这里最重要的是你需要添加所有这些,如果你有大项目,这不是一个简单的任务.解决方案可以选择扩展目标然后在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和主项目中的其他嵌套类.我需要这个类来调用几个方法,将数据从扩展名传递到我的后端服务器.所以一个文件,但很多问题.

解决方法

您可以在Podfile中使用它来防止“仅需要App-Extension-Safe API”.只需将其放在Podfile的末尾即可.
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

猜你在找的iOS相关文章