Xcode 如何在启动时请求访问照片库?

Xcode 如何在启动时请求访问照片库?,xcode,photo,startup,undeclared-identifier,Xcode,Photo,Startup,Undeclared Identifier,我正在构建一个应用程序,让用户从他们的库中拍照来做事情。我使用的是X代码,我在“didFinishLaunchingWithOptions”下有此代码,但不断出现“未声明的标识符”错误。怎么办 ALAssetsLibraryGroupsEnumerationResultsBlock assetGroupEnumerator = ^(ALAssetsGroup *assetGroup, BOOL *stop) { if (assetGroup != nil) { // do

我正在构建一个应用程序,让用户从他们的库中拍照来做事情。我使用的是X代码,我在“didFinishLaunchingWithOptions”下有此代码,但不断出现“未声明的标识符”错误。怎么办

ALAssetsLibraryGroupsEnumerationResultsBlock assetGroupEnumerator =
^(ALAssetsGroup *assetGroup, BOOL *stop) {
    if (assetGroup != nil) {
        // do somthing
     }
};

ALAssetsLibraryAccessFailureBlock assetFailureBlock = ^(NSError *error) {
    LogError(@"Error enumerating photos: %@",[error description]);

};

NSUInteger groupTypes = ALAssetsGroupAll;

[library enumerateGroupsWithTypes:groupTypes usingBlock:assetGroupEnumerator failureBlock:assetFailureBlock];

答案太晚了,但您需要定义库

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
或者,如果要重用库进行更多查询,最好使用类方法

+ (ALAssetsLibrary *)defaultAssetsLibrary
{
    static dispatch_once_t pred = 0;
    static ALAssetsLibrary *library = nil;
    dispatch_once(&pred, ^{
        library = [[ALAssetsLibrary alloc] init];
    });
    return library;
}

是否有任何特殊原因使您不将其置于ViewController的viewDidLoad方法下?