显示照片我目前正在将ipa发送给朋友进行测试。有趣的是,我的一个测试人员能够查看存储在她的手机上的照片,这张照片是使用iPhone 4运行IOS 5的。Iphone:无法使用AlAssetsLibrary
另外两个测试人员:一个有iPhone 4(IOS 4.3.3)和iPhone 3GS(IOS 5.0 .1)他们都看不到存储在手机上的照片。
这些都是我所使用的代码:
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
void (^assetEnumerator)(ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop) {
if(result != NULL) {
//NSLog(@"See Asset: %@", @"ggg");
[assets addObject:result];
}
};
NSLog(@"location = %i length = %i ", range->location, range->length);
void (^assetGroupEnumerator)(ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop) {
if(group != nil) {
NSRange *datarange = malloc(sizeof(NSRange));
range->total = [group numberOfAssets];
datarange->location = [group numberOfAssets] - range->location - range->length;
datarange->length = range->length;
NSLog(@" total = %i", range->total);
int location = [group numberOfAssets] - range->location - range->length;
if (location < 0)
{
datarange->location = 0;
datarange->length = [group numberOfAssets] - range->location;
}
NSIndexSet *indexset = [ [NSIndexSet alloc] initWithIndexesInRange:*datarange];
[group enumerateAssetsAtIndexes:indexset options:NULL
usingBlock:assetEnumerator];
[indexset release];
free(datarange);
[self loadAssetToScrollView:assets];
}
};
[assets release];
assets = [[NSMutableArray alloc] init];
[library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos
usingBlock:assetGroupEnumerator
failureBlock: ^(NSError *error) {
NSLog(@"Failure");
}];
[library release];
我看到有人说关于异步的事情在其他一些线程,但不知道是不是这样。他说在枚举组块中放入dispatch_async。
有谁知道什么是错的。
此外,iOS 4.3.3测试人员可以在General-> Setting下启用位置服务后显示他的照片。为什么我们必须启用它?我们是否可以在代码上启用它,因为使用我们应用程序的用户会感到非常不安。
对不起,迟到的回复,我不太明白。你的意思是,如果我试图存储AlAssets以备后用,这些AlAssets将为空或类似的东西。在我的代码中,我只对ALAssets对象的URL感兴趣,所以我只保留url而不是对象本身。所以我仍然需要关心物体的寿命。 – LittleFunny 2011-12-16 10:10:57
这些收集的资产实例将得到未删除的值(或类似的东西),是的。如果您只对资产的网址感兴趣,那么只收集这些网址。稍后您应在[assetForURL:resultBlock:failureBlock:]方法中使用它们以再次检索资产对象。整个事情看起来像带有托管对象上下文(MOC)的核心数据和ALAssetsLibrary实例看起来像这个MOC实例。因此,在核心数据中,当你“解散”这个MOC实例时,你不能访问它后面的数据。 – Lorion 2011-12-16 13:15:19