小编sas*_*nec的帖子

上传NSURLSesssion在ios8中的共享扩展中失效,错误NSURLErrorDomain Code = -995

我尝试NSURLSessioniOS 8中使用共享扩展程序上传图像,但在调用后立即出现此错误

[task resume]
Error Domain=NSURLErrorDomain Code=-995 "The operation couldn’t be completed. (NSURLErrorDomain error -995.)"
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:DEFAULT_SHARE_SESSION_ID];
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:self.queue];
NSURLRequest *request = [self getMultipartUploadRequest:data url:url albumId:albumId];
// ... saving file here to Documents folder
NSURLSessionUploadTask *uploadTask = [session uploadTaskWithRequest:request fromFile:url1];
[uploadTask resume];
Run Code Online (Sandbox Code Playgroud)

而且我在控制台中也有这条消息:

Attempted to create a task in a session that has been invalidated
Run Code Online (Sandbox Code Playgroud)

此代码绝对适用于应用程序,但在共享扩展程序中不起作用.我找不到代码-995的含义.

有任何想法吗?

ios nsurlerrordomain nsurlsession

12
推荐指数
1
解决办法
4824
查看次数

如何实现与CBPeripheral的安全连接?

我只希望受信任的设备连接到我的外围设备。我不希望任何人能够发现我的外围设备的服务和特征。\n因此,在连接到外围设备之前,我想显示带有 PIN 码的警报。有可能做到吗?最简单的方法是什么?

\n\n

我找不到这个问题的答案,并尝试通过将 CBAttributePermissionsWriteEncryptionRequired 添加到权限来实现加密特征:

\n\n
self.characteristic = [[CBMutableCharacteristic alloc] initWithType:[JUUIDBuilder uuidWith:@"1706"]\n                                                         properties: CBCharacteristicPropertyWrite\n                                                              value:nil permissions:CBAttributePermissionsWriteEncryptionRequired];\n
Run Code Online (Sandbox Code Playgroud)\n\n

由于某种原因,它没有帮助,因为我可以一直从我的第二个设备写入值,而无需任何安全检查。(CBAttributePermissionsReadEncryptionRequired 的文档说:

\n\n
\n

...该特征配置为仅允许受信任的设备读取或订阅其值。当连接的远程中央设备尝试读取或订阅此特性\xe2\x80\x99s 值时,核心蓝牙会尝试将本地外设与中央设备配对以创建安全连接。

\n
\n\n

这对我来说没有意义。这里的“可信设备”是什么?

\n\n

谁能帮我?仅允许来自具有 PIN 码确认的受信任设备的连接的最佳实践是什么?

\n

ios core-bluetooth

1
推荐指数
1
解决办法
1670
查看次数