Ste*_*veB 9 cocoa objective-c nsurlconnection ios ios8
我正在为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);
}
}];
Run Code Online (Sandbox Code Playgroud)
这一切似乎在一段时间(1-2天)内正常工作,我可以正确地接收数据.在这段时间之后,我开始看到以下错误消息:
***cachedResponseForRequest:key:handler failed:
Run Code Online (Sandbox Code Playgroud)
Error Domain = NSCocoaErrorDomain Code = 4099"操作无法完成.(Cocoa error 4099.)"(与名为com.apple.nsurlstorage-cache的服务的连接无效.)UserInfo = 0x17579030 {NSDebugDescription =服务连接命名为com.apple.nsurlstorage-cache失效.}; {NSDebugDescription ="名为com.apple.nsurlstorage-cache的服务连接无效.";
我似乎能够再次正常工作的唯一方法是重置手机上的内容和设置.如果有人能指出我为什么会发生这种情况的正确方向,我将非常感激.提前致谢.
这是因为设备不允许您的键盘使用互联网.
要解决此问题,请首先检查键盘扩展名的Info.plist是否为"RequestsOpenAccess"键的值为"YES".
然后,在设备上安装应用程序后,转到设置 - >常规 - >键盘 - >键盘 - >,然后打开"允许完全访问"按钮.
小智 5
我也有这个问题.当我为我的应用程序编写小部件时,小部件可以使用网络.然后我找到了如何允许使用网络.
只需选择目标(键盘) - >功能 - >打开应用程序沙箱 - >检查网络.传入连接(服务器)传出连接(客户端)
| 归档时间: |
|
| 查看次数: |
17093 次 |
| 最近记录: |