从iOS 14或14.0.1 WiFi开始,但LTE不起作用

问题描述

我有一个正在使用CloudKit的应用程序,并且运行良好。将iPhone升级到iOS 14.x之后,它仍然可以与WiFi一起使用,但是对于LTE,它不再完成CKFetchDatabaseChangesOperation。我可以重新打开WiFi,然后一切正常,切换到LTE并挂在CKFetchDatabaseChangesOperation上。我什至可以使用LTE进行启动,它可以挂起,同时仍在运行该应用程序时切换至WiFi,它可以正常完成操作。

任何人都可以帮助我弄清楚这是我的代码中的问题还是iOS的错误?

我检查了两个副本是否均符合xCode 12 iOS 14.x之前的版本,并且发布后的行为均具有相同的怪异方式?

解决方法

我会检查几件事。

== 1 ==

首先,请确保为您的应用打开了蜂窝数据:

for plate in plates: print(df.loc[plate])

== 2 ==

要检查的第二件事是将操作设置为更高优先级。它实际上可能正在工作,但是真的很慢。

Settings > Cellular > [Your App]

iCloud可能会延迟数据传输以不使用过多蜂窝数据。

,

• 要通过蜂窝网络使用 CloudKit,您需要将 - CKOperation.qualityOfService 更改为 .userInitiated.userInteractive

operation.qualityOfService = .userInitiated

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

• 必须开启通过蜂窝网络的 iCloud 同步。

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

operation.allowsCellularAccess = true 还不够。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...