SendBird - iOS:无法接收相机照片,但可以接收存储的图像

时间:2018-01-04 12:39:26

标签: ios uiimagepickercontroller sendbird

我正在使用SendBird向我的应用添加发送图片功能。

Data我执行此代码

makeSafe

当imagePicker的sourcetype为:- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info时,此代码很有效。

如果我使用imagePicker发送图像,其源类型为:NSData *imageFileData = UIImageJPEGRepresentation(info[UIImagePickerControllerOriginalImage], 0.5); NSURL* imagePath = [info objectForKey:@"UIImagePickerControllerReferenceURL"]; NSString* imageName = [imagePath lastPathComponent]; [self.currentChannel sendFileMessageWithBinaryData:imageFileData filename:imageName type:@"image/jpg" size:[imageFileData length] data:nil completionHandler:^(SBDFileMessage * _Nullable fileMessage, SBDError * _Nullable error) {}]; ,那么

UIImagePickerControllerSourceTypePhotoLibrary永远不会被触发。

1 个答案:

答案 0 :(得分:1)

据我所知,来自info的{​​{1}}词典没有UIImagePickerControllerSourceTypeCamera的对象。因此,UIImagePickerControllerReferenceURLimagePath必须为imageName

nil需要sendFileMessageWithBinaryData:filename:type:size:data:completionHandler:不是filename。因为您生成jpeg数据,所以只需使用nil作为@"image.jpg",如下所示:

filename