我正在为 iOS8 创建自定义键盘,但我很难解决 NSURLConnection 的一些问题。
我正在使用 sendAsynchronousRequest: 方法,如下所示:
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
NSLog(@"recieved asynchronous response");
if (!connectionError) {
[self connection:nil didReceiveData:data];
[self connectionDidFinishLoading:nil];
}
else{
NSLog(@"connection failed - %@", connectionError);
}
}];
这一切似乎在一段时间内(1-2天)都能正常工作,并且我可以正确接收数据。此后我开始看到以下错误消息:
***cachedResponseForRequest:key:handler failed:
错误域=NSCocoaErrorDomain代码=4099“操作无法完成。(Cocoa错误4099。)”
(与名为 com.apple.nsurlstorage-cache 的服务的连接已失效。)UserInfo=0x17579030
{NSDebugDescription=与名为 com.apple.nsurlstorage-cache 的服务的连接已失效。}; {
NSDebugDescription = "与名为 com.apple.nsurlstorage-cache 的服务的连接已失效。";
然后,我似乎能够使事情再次正常工作的唯一方法是重置手机上的内容和设置。如果有人能指出我为什么会发生这种情况的正确方向,我将非常感激。提前致谢。
发生这种情况是因为设备不允许您的键盘使用互联网。
要解决此问题,请首先检查键盘扩展的 Info.plist 中“RequestsOpenAccess”键的值为“YES”。
然后,在设备上安装应用程序后,转到“设置”->“常规”->“键盘”->“键盘”-> ,然后打开“允许完全访问”按钮。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)