在iOS 8的Photos.framework中,我正在尝试将UIImage保存到用户的照片库,就像在Safari中长按图像并选择"保存图像"一样.在iOS 7中,这只需要调用ALAssetLibrary writeImageToSavedPhotosAlbum:metadata:completionBlock.
对于iOS 8,我们需要选择一个资产集合来添加PHAsset,但我无法弄清楚哪个PHAssetCollection最接近只保存到用户的"相机滚动"(即使在iOS中没有,真的, 8)
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
PHAssetChangeRequest *newAssetRequest = [PHAssetChangeRequest creationRequestForAssetFromImage:image];
newAssetRequest.creationDate = time;
newAssetRequest.location = location;
PHObjectPlaceholder *placeholderAsset = newAssetRequest.placeholderForCreatedAsset;
PHAssetCollectionChangeRequest *addAssetRequest = [PHAssetCollectionChangeRequest changeRequestForAssetCollection:WHICH_ASSET_COLLECTION];
addAssetRequest addAssets:@[placeholderAsset];
} completionHandler:^(BOOL success, NSError *error) {
NSLog(@"Success: %d", success);
}];
Run Code Online (Sandbox Code Playgroud)
我尝试访问"最近添加"的智能相册,但不允许添加新内容.
在应用程序启动期间,通常会创建主UI结构,但如果用户在应用程序启动期间未登录,则会立即在普通UI上方显示模态介绍/登录屏幕.
通常情况下,使用提供模态UI一直很好presentViewController:animated:NO,因为用户会看到:App Launch Image - > Login UI.
但是,在iOS 8上,似乎调用presentViewControlleranimated = NO 仍会在呈现视图控制器之前简要地显示帧的基础视图控制器.
例:
我不想首先提供登录UI,因为当用户登录时,我将从登录UI 呈现主UI,从而无限期地保持层次结构中的登录UI.
还有其他方法我没有考虑过吗?故事板可以帮助我吗?