|
|
1
30
看看苹果的示例代码。Reachability项目展示了如何检测连接。 http://developer.apple.com/iphone/library/samplecode/Reachability/index.html |
|
|
2
9
这段代码可以工作,但并不总是能产生预期的结果。 iPhone上的TCP协议栈的工作方式与预期的非常不同。使用“可达性”代码,有时会出现网络连接,但无法可靠地检测到。但是,启动MobileSafari然后重新尝试使用“可达性”代码检查连接将得到正确的结果。 我发现在确定网络连接方面最有效的方法是在应用程序加载时在单独的线程中运行NSURLConnection检查。调用一个你知道会返回“是”的URL(即服务器上的HTML文件或其他东西)。然后检查以确保返回的结果等于静态文本。这样,您就知道NSURLConnection堆栈正在正确地伸出,而不是“可达性”代码不能完全一致地工作。 |
|
3
9
你需要读取错误代码,并尽可能地做出回应。我对此有一些经验,基本上这可能取决于你正在与什么服务交互,但在delicious.com上,我收到错误-1012,表示用户/密码错误,如果你查一下,会发现
尽管很明显,这种措辞具有误导性,但我可以始终如一地复制输入错误的user/passwd并得到错误代码。从技术上讲,iPhone永远不会连接到互联网,除非你在某个数据连接有问题的陌生地区。我还看到了一个错误代码
我会过去的 NSURLError.h (还有更多类似的)
等。。。 您需要做的就是获取对传入的NSError对象的引用&检查错误代码如下
常数是我在自己的源代码中定义的,本质上是-1012 |
|
|
4
8
这对我来说是可行的,取自苹果地震xml项目:
|
|
|
5
3
可达性是一个单独的类,通过你可以访问代码
|
|
|
6
2
您当前的连接代码是什么样子的?如果你正在使用
|
|
|
7
2
使用Apple的可达性时,请记住,即使您尝试访问google.com或Apple.com等主机(可能是缓存问题),您也可能发现自己通过WWAN(可达ViaWWAN)或WiFi(可达ViaWiFi)连接,而没有连接到互联网。我最后打电话给自己的服务器,得到了一个数字——至少对我来说是最好的解决方案。 |
|
|
8
2
|
|
|
Danil · 种子/填充核心数据的最佳实践?[关闭] 1 年前 |
|
|
Robin · LazyVGrid项目预计不会击中测试区域 1 年前 |
|
|
Alex Smith · 移动到下一个视图控制器后如何显示警报? 1 年前 |
|
selcukctn · 如何在react native中制作无限动画? 1 年前 |
|
|
Nicolas Gimelli · iOS 18远程通信通知不起作用 1 年前 |