Siri快捷方式和CocoaPods-找不到文件

时间:2018-09-28 22:31:44

标签: cocoa cocoapods sirikit sirishortcuts

我已经启动并运行了快捷方式,但是现在我想实际链接使用GCDAsyncSocket CocoaPod的网络代码。一旦将网络管理器类包含到IntentsHandler中,我就会遇到“词汇或预处理器问题”,并且找不到GCDAsyncSocket.h。

我相信这是因为CocoaPods没有安装在我的Intent Target中。但是,如果我将Podfile配置为将Pod添加到我的Intent目标(我尝试将其添加到我的Intent和IntentUI目标),则会遇到各种其他错误。花了我一段时间使事情恢复正常,因为我必须清理并删除派生数据以清理所有数据。

我知道,这只是一长串问题中的一个错误,包括我与该网络管理器类链接到的所有其他对象,这将会冒出来。我想我必须将所有这些添加到我的Intents目标中,这将导致更多这样的错误,所有这些都会带来更多的CocoaPods和我拥有的其他类。在我再次走这条路之前,我想问一下这是否是实际的问题?或者,如果有人对如何处理有任何建议?

编辑:将可可脂添加到意图目标时出现的错误是...

'sharedApplication' is unavailable: not available on iOS (App Exentsion)... AFRKNetworkActivityIndicatorManager.m

在这种情况下,我的RestKit pod引起了问题。导入到我的网络管理器类中后,我需要使用它,因为每当调用此快捷方式时,我都需要将某些内容推送到服务器。我正在使用RestKit与我的RESTful服务器通信。

1 个答案:

答案 0 :(得分:0)

此SO帖子已帮助为我解决了此问题...

UIApplication.sharedApplication not available

我尝试将Require Only AppExtension-Safe设置为NO。但是我仍然有问题。但这使我明白这不是一个简单的解决方法。

然后我删除了引起问题的一个cocoapod(在这种情况下为RestKit),然后能够将其他所有东西都连接起来。对于这种特殊情况,我不得不重新做一些网络代码,以使其不使用RestKit。对于这个实例,我使用CocoaAsyncSocket并以这种方式手动发布请求。不是最好的,因为它在代码中有点混乱,但是必须这样做。除非RestKit删除了该要求。