如何解决从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
还不够。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。