Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从iOS 14或14.0.1开始,WiFi可以工作,但LTE不能_Ios_Networking_Cloudkit_Ios14_Lte - Fatal编程技术网

从iOS 14或14.0.1开始,WiFi可以工作,但LTE不能

从iOS 14或14.0.1开始,WiFi可以工作,但LTE不能,ios,networking,cloudkit,ios14,lte,Ios,Networking,Cloudkit,Ios14,Lte,我有一个我正在开发的应用程序,它使用CloudKit,一直运行良好。在将iPhone升级到iOS 14.x后,它继续使用WiFi,但在LTE上,它不再完成CKFetchDatabaseChanges操作。我可以重新打开WiFi,一切正常,切换到LTE并挂起CKFetchDatabaseChanges操作。我甚至可以启动LTE,它挂起,切换到WiFi,同时仍在运行应用程序,它启动了一个正常的操作完成 有人能帮我弄清楚这是我的代码中的什么东西还是iOS错误吗 我已经检查过这两个版本,它们都是xCod

我有一个我正在开发的应用程序,它使用CloudKit,一直运行良好。在将iPhone升级到iOS 14.x后,它继续使用WiFi,但在LTE上,它不再完成CKFetchDatabaseChanges操作。我可以重新打开WiFi,一切正常,切换到LTE并挂起CKFetchDatabaseChanges操作。我甚至可以启动LTE,它挂起,切换到WiFi,同时仍在运行应用程序,它启动了一个正常的操作完成

有人能帮我弄清楚这是我的代码中的什么东西还是iOS错误吗


我已经检查过这两个版本,它们都是xCode 12 iOS 14.x之前的版本和post版本,它们的行为都很奇怪?

我会检查一些东西

==1==

首先,确保您的应用程序的手机数据已打开:

Settings>Cellular>[您的应用]

==2==

要检查的第二件事是将您的操作设置为具有更高的优先级。它可能真的在工作,但速度真的很慢

let operation = CKFetchDatabaseChangesOperation()
  
//Set these...
operation.qualityOfService = .userInitiated
operation.queuePriority = .veryHigh

...

iCloud可能正在延迟数据传输,以避免使用过多的蜂窝数据。

•要在celluar上使用CloudKit,您需要将-
CKOperation.qualityOfService
更改为
。userInitiated
。userInteractive

operation.qualityOfService=.userInitiated

如果此选项设置为
.background
(默认值),则查询操作不会响应。(也不会出现超时错误。)

•必须启用celluar网络上的iCloud同步

 Settings app -> iCloud -> iCloud Drive -> Use Celluar Data -> ON

operation.allowCellularAccess=true
还不够。

就是这样。==2==奇怪的是,iOS 14或14.0.1刚刚开始出现这种情况。我之前没有设置这两个参数,所以它们处于默认值。在最后一次更新之前,这已经足够了。现在我已经明确地设置了它们,LTE又可以正常工作了。谢谢@Rob我们在提到的iOS版本中遇到了非常类似的问题,不过,我很惊讶这是我发现的唯一一条关于这一点的线索。你找到关于这个问题的更多信息了吗?iOS 14.2上仍在运行吗?感谢上面的回复解决了这个问题。我更改了代码以设置operation.qualityOfService和operation.queuePriority,然后一切又恢复正常。@Rob您是否碰巧遇到错误CKError 3?