fla*_*ing 3 objective-c ios unrecognized-selector
我的应用程序一直崩溃,并显示以下消息:
*由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [NSConcreteMutableData base64EncodedStringWithOptions:]:无法识别的选择器发送到实例0x776e920'
这是代码的一部分.任何帮助将不胜感激:
-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
// Saving the image in the uiimage "myImage".
UIImage *myImage = [info objectForKey:UIImagePickerControllerOriginalImage];
NSString *imageString = [self encodeToBase64String:myImage];
[self dismissViewControllerAnimated:YES completion:NULL];
}
- (NSString *)encodeToBase64String:(UIImage *)image{
NSString * test = [UIImagePNGRepresentation(image) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
return test;
}
Run Code Online (Sandbox Code Playgroud)
我已经检查过,UIImage中有一个图像.谢谢.
Mar*_*n R 15
base64EncodedStringWithOptions: 从iOS 7和OS X 10.9开始提供.
"无法识别的选择器"异常可能意味着您在较早的iOS版本上运行代码,此方法不可用.
有第三方库提供类似的方法,如果你必须支持iOS 6或5(例如https://github.com/nicklockwood/Base64),可以使用它们.
该NSData文档还指出有一个base64Encoding方法(和其对应物initWithBase64Encoding:)
虽然这种方法仅针对iOS 7公开发布,但它自iOS 4以来就已存在; 如果您的应用程序需要在iOS 7之前定位操作系统,则可以使用它.此方法的行为类似于base64EncodedStringWithOptions:,但忽略所有未知字符.
(所以似乎iOS NSData很长一段时间都进行了Base64转换,但它从未公开记录!)
| 归档时间: |
|
| 查看次数: |
5945 次 |
| 最近记录: |