Siri 快捷方式和 CocoaPods - 未找到文件
Posted
技术标签:
【中文标题】Siri 快捷方式和 CocoaPods - 未找到文件【英文标题】:Siri Shortcuts and CocoaPods - File Not Found 【发布时间】:2018-09-28 22:31:44 【问题描述】:我已经启动并运行了快捷方式,但现在我想实际链接使用 GCDAsyncSocket CocoaPod 的网络代码。一旦我将网络管理器类包含到我的 IntentsHandler 中,我就会收到“词汇或预处理器问题”,并且找不到 GCDAsyncSocket.h。
我相信这是因为 CocoaPods 没有安装在我的 Intent Target 中。但是,如果我将 Podfile 配置为将我的 pod 添加到我的 Intent 目标(我尝试将其添加到我的 Intent 和 IntentUI 目标),我会收到各种其他错误。我花了一段时间才让事情恢复正常,因为我必须清理并删除派生数据以将其全部清理干净。
我知道这只是一系列问题中的一个错误,这些问题将出现,包括我与我拥有的网络管理器类链接的所有其他对象。我假设我必须将它们全部添加到我的 Intents 目标中,这将导致更多这样的错误,所有这些都会带来更多的 CocoaPods 和我拥有的其他类。在我再次走这条路之前,我想问一下这是否是实际问题可能是什么?或者如果其他人对如何处理这个有任何建议?
编辑:当我将 cocoapods 添加到我的意图目标时发生的错误是......
'sharedApplication' is unavailable: not available on ios (App Exentsion)... AFRKNetworkActivityIndicatorManager.m
在这种情况下,我的 RestKit pod 会导致问题。它被导入到我需要使用的网络管理器类中,因为每当调用此快捷方式时,我都需要将某些内容推送到服务器。我正在使用 RestKit 与我的 RESTful 服务器通信。
【问题讨论】:
【参考方案1】:这篇 SO 帖子帮助为我解决了这个问题...
UIApplication.sharedApplication not available
我尝试将 Require Only AppExtension-Safe 设置为 NO。但我仍然有这个问题。但这让我明白这不是一个简单的解决方法。
然后,我移除了导致问题的一个 cocoapod(在本例中为 RestKit),然后能够连接其他所有东西。对于这种特殊情况,我不得不稍微修改我的网络代码,以便它不使用 RestKit。对于这个实例,我使用 CocoaAsyncSocket 并以这种方式手动发布我的请求。不是最好的,因为它在代码中有点混乱,但必须这样做。除非 RestKit 取消了这个要求。
【讨论】:
以上是关于Siri 快捷方式和 CocoaPods - 未找到文件的主要内容,如果未能解决你的问题,请参考以下文章