【发布时间】:2017-01-24 12:21:12
【问题描述】:
我有一个关于Keyboard Extension的问题。
容器应用有很多图片。(例如 > 100 张图片,总共 100MB)
并且容器应用程序已使用 NSUserDefaults 保存。
像这样:
NSMutableArray* arr = [NSMutableArray new];
for(NSInteger i = 0; i < 100; i++)
{
UIImage* img = [UIImage imageNamed:[NSString stringWithFormat:@"img%ld",i]];
NSData* data = UIImagePNGRepresentation(image);
[arr addObject:data]
}
NSUserDefaults* ud = [[NSUserDefaults alloc] initWithSuiteName:@"<group identifier>"];
[ud setObject:arr forKey:@"image_data"];
[ud synchronize];
键盘应用从NSUserDefaults获取图像数据。
容器应用向键盘应用发送大量数据的方式是否正确?
在特殊情况下,NSUserDefaults 实例在键盘应用程序中访问方法(objectForKey:) 时,键盘应用程序崩溃。
特殊情况是:
如果NSUserDefaults 中的图像数据大小大于约 30MB(不确定),则键盘应用程序崩溃,如果大小小于约 30MB,则运行良好。
NSUserDefaults 有最大尺寸限制吗?
我只想喜欢this app。
我想知道我在键盘应用中控制大尺寸数据。
【问题讨论】:
-
如果你想保存图像然后保存在核心数据中而不是 NSUserdefault
-
键盘应用可以访问容器应用保存的核心数据吗?
标签: ios objective-c ios-app-group ios-keyboard-extension