the code above only fetches smart albums. if you also need albums created manually from user, you must fetch them, too:
PHFetchResult *userCollections = [PHCollectionList fetchTopLevelUserCollectionsWithOptions:nil];and if you need sync’d albums:
PHFetchResult *syncedAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumSyncedAlbum options:nil];user collections tested, sync’d collections not tested yet because I don’t need them