0
我試圖使用PHAssetResourceManager
從資產中提取數據。PHAssetResourceManager的用法?
我找不到任何關於此的任何示例。
我用PHImageManager
但我的應用程序將不會被釋放,直到明年 所以我想那個時候大多數人會最有可能,反正採用了最新的iOS 版本。
當試圖記錄指定資源的資源時,下面的代碼返回「0」。
我如何使用PHAssetResourceManager
?
我的代碼:
PHFetchOptions *fetchOptions;
fetchOptions.sortDescriptors = @[ [NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES], ];
PHFetchResult *fetchResult = [PHAsset fetchAssetsWithOptions:fetchOptions];
NSLog(@"fetchResult.count = %lu", fetchResult.count);
PHAsset *asset = [fetchResult objectAtIndex: assetIndex];
NSArray *resourceArray = [PHAssetResource assetResourcesForAsset: asset];
NSLog(@"resourceArray.count = %lu", resourceArray.count); //<<< returns 0?
PHAssetResource *ar = [resourceArray objectAtIndex: 0];
PHAssetResourceRequestOptions *arro = [[PHAssetResourceRequestOptions alloc] init];
PHAssetResourceManager *arm = [PHAssetResourceManager defaultManager];
[arm requestDataForAssetResource:ar options:arro
dataReceivedHandler:^(NSData *assetData){
NSLog(@"extractData dataReceivedHandler: %lu", assetData.length);
}
completionHandler:^(NSError *error){
NSLog(@"extractData Error: %@", error);
}
];
});
你是對的,模擬器工作正常,但在物理設備上不起作用。在我的情況下,它是iPhone 5S – vaid
即使您在代碼中解決了問題之後? –
是的,可能是因爲我的設備上沒有安裝iOS 9.0+。數十萬年的人類進化史,我很笨,不能更新我的操作系統。 Brb,會更新真實。 – vaid