Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在swift上创建自定义相册(请求正在干扰此过程)_Ios_Swift_Photos - Fatal编程技术网

Ios 在swift上创建自定义相册(请求正在干扰此过程)

Ios 在swift上创建自定义相册(请求正在干扰此过程),ios,swift,photos,Ios,Swift,Photos,我有下面的代码,这是我从这个论坛上得到的,工作非常完美。但是,当它第一次创建相册时,会请求用户访问其照片的权限。这导致相册直到第二次运行应用程序时才会创建 我如何控制这一点?以便在第一次请求时创建相册。对不起,如果我的英语不好,我只知道一点点。希望有人能帮助我 最后是代码: import Photos var assetCollection: PHAssetCollection! var albumFound : Bool = false var photosAsset: PHFetchResu

我有下面的代码,这是我从这个论坛上得到的,工作非常完美。但是,当它第一次创建相册时,会请求用户访问其照片的权限。这导致相册直到第二次运行应用程序时才会创建

我如何控制这一点?以便在第一次请求时创建相册。对不起,如果我的英语不好,我只知道一点点。希望有人能帮助我

最后是代码:

import Photos
var assetCollection: PHAssetCollection!
var albumFound : Bool = false
var photosAsset: PHFetchResult!
var assetThumbnailSize:CGSize!
var collection: PHAssetCollection!
var assetCollectionPlaceholder: PHObjectPlaceholder!

func createAlbum() {
let fetchOptions = PHFetchOptions()
fetchOptions.predicate = NSPredicate(format: "title = %@", "MyAlbum")
let collection : PHFetchResult = PHAssetCollection.fetchAssetCollectionsWithType(.Album, subtype: .Any, options: fetchOptions)

if let first_obj: AnyObject = collection.firstObject {
    self.albumFound = true
    assetCollection = collection.firstObject as PHAssetCollection
} else {
    PHPhotoLibrary.sharedPhotoLibrary().performChanges({
        var createAlbumRequest : PHAssetCollectionChangeRequest = PHAssetCollectionChangeRequest.creationRequestForAssetCollectionWithTitle("MyAlbum")
        self.assetCollectionPlaceholder = createAlbumRequest.placeholderForCreatedAssetCollection
        }, completionHandler: { success, error in
            self.albumFound = (success ? true: false)

            if (success) {
                var collectionFetchResult = PHAssetCollection.fetchAssetCollectionsWithLocalIdentifiers([self.assetCollectionPlaceholder.localIdentifier], options: nil)
                print(collectionFetchResult)
                assetCollection = collectionFetchResult?.firstObject as PHAssetCollection
            }
    })
}}

使用

if (collection.firstObject != nil)
{
}
else
{
}