现在我正在开发一个独立的 Watch App 应用,但是我发现在模拟器上调试时是可以正常连接网络的。但是当我上传到真机时,就会出现无网络连接的问题。具体的报错如下:
2021-11-20 21:42:27.156338+0800 wTodo WatchKit Extension[1068:2225475] PDTask <29C198EA-480A-459F-B5B9-421D9C26C7D8>.<3> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={_NSURLErrorFailingURLSessionTaskErrorKey=LocalDataPDTask <29C198EA-480A-459F-B5B9-421D9C26C7D8>.<3>, NSLocalizedDescription=The Internet connection appears to be offline., _kCFStreamErrorCodeKey=50, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataPDTask <29C198EA-480A-459F-B5B9-421D9C26C7D8>.<3>",
"LocalDataTask <29C198EA-480A-459F-B5B9-421D9C26C7D8>.<3>"
), NSErrorFailingURLStringKey=https://baidu.com, _kCFStreamErrorDomainKey=1, NSErrorFailingURLKey=https://baidu.com}
Apple Watch S7
系统版本: 8.1
网络环境: WIFI
我应该要如何解决这个问题呢?我已经翻找过 Google 和 Apple 的开发者论坛了,也只是找到一个相同问题,但没有解答,有点烦💔。https://developer.apple.com/forums/thread/664816?login=true
1
7gugu OP 问题解决了,但没完全解决。
可以确定的是,这是一个系统级别的 Bug 。由于 GPS 版 AppleWatch 用户不能在控制 Apple Watch 上面的独立应用的网络权限,因此默认是关闭状态的独立应用,将无法联网使用。 现在只能给出两种临时的解决方法: 1. 彻底关闭手机 该方法是为了让 Apple Watch 不去同步手机的网络设置(默认关闭网络),促使独立应用能够正常联网,但该方法仅适用于网络连接少或者无的独立应用,比如小说、阅读器等。 2. 开发 iOS 配套应用 如果 iOS 侧有配套应用,则用户就可以在 iOS 侧对应用的网络权限做控制,进而实现 Watch 侧应用联网,该方法适合对于网络请求较多的应用。 PS:这个 Bug 的出现真的是很无语,花了我一整天的时间才解决,心累啊😣。 |
2
tangzhiyong 2023-06-07 22:22:29 +08:00
wo 我也遇到这个问题, 跟你说的情况一样, 关手机就可以了, 无语😓
|
3
7gugu OP @tangzhiyong 没辙😂,反馈了也不修复。现在只好开发 App 的时候再开发多一个 iOS 的 App 来解决这个问题。
|
4
ResistanceTo 10 天前
嗨~我最近在开发一款仅 Apple Watch 的程序,我也遇到了这个问题。我找到了这里和你的博客,我看到你在博客中有提到 iOS17+已经能够解决此问题。我的手机和手表都是 26.0 ,但是没有在 “蜂窝网络” 中看到 “仅用于手表的 APP” 的选项,请问是设备问题吗?我是一个国航手机+美版蜂窝手表。
|
5
7gugu OP @ResistanceTo 这个我也不确定,当时我的设备是国行手机+国行手表。升级到 26 后,苹果给手表也加上允许蜂窝使用就没这个问题了。
|
6
ResistanceTo 7 天前
@7gugu 好的~调研了很多资料,感觉最合适的办法就是套一个 iPhone 的壳了。iPhone 的这个设置有些人能出现有些人无法出现。
|
7
7gugu OP @ResistanceTo #6 是的,最好是做一个 iOS 的入口 App ,这样子就保证能设置到网络问题,而且低版本 18 以下也不会有兼容问题。
|