gpt4 book ai didi

iOS PHAssetCollection localizedTitle 总是返回英文名称

转载 作者:可可西里 更新时间:2023-11-01 03:12:24 26 4
gpt4 key购买 nike

我正在使用 Apples Photos Framework 将 PHAssetCollections 加载到我的应用程序中。我总是得到智能收藏的英文名称。例如,我得到的是“收藏夹”而不是“收藏夹”(瑞典语)。我认为 localizedTitle 属性会返回模拟器或 iPhone 运行的语言。 (在具有瑞典语和地区的 iPhone 上运行)。

有没有人遇到过这个?示例代码:

NSArray *collectionsFetchResults;
NSMutableArray *localizedTitles = [[NSMutableArray alloc] init];

PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum
subtype:PHAssetCollectionSubtypeAlbumRegular options:nil];
PHFetchResult *syncedAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum
subtype:PHAssetCollectionSubtypeAlbumSyncedAlbum options:nil];
PHFetchResult *userCollections = [PHCollectionList fetchTopLevelUserCollectionsWithOptions:nil];

// Add each PHFetchResult to the array
collectionsFetchResults = @[smartAlbums, userCollections, syncedAlbums];

for (int i = 0; i < collectionsFetchResults.count; i ++) {

PHFetchResult *fetchResult = collectionsFetchResults[i];

for (int x = 0; x < fetchResult.count; x ++) {

PHCollection *collection = fetchResult[x];
localizedTitles[x] = collection.localizedTitle;
NSLog(@"%@", collection.localizedTitle); //<= Always prints english names
}
}

最佳答案

collection.localizedTitle 不返回任何其他语言的原因是您的应用只有一个本地化版本,即 English。这绝对是一个 Apple Bug,但这里有一个 hack,请按照以下步骤操作。

  1. 除了您已有的 en.lproj 文件夹之外,创建相关文件夹 sv.lproj
  2. 在文件夹中添加一个空白文本文件,然后将该文件添加到您的项目中。
  3. 执行第 2 步。您正在为您的项目添加瑞典语支持。
  4. 运行您的代码,它应该以瑞典语返回标题。

更新

如果您想在添加空白文本后轻松添加更多语言,您可以通过选择项目来添加,如其他答案中所示,然后在本地化部分添加语言并再次选择空白文件,因为我们不想本地化其他文件。

希望对您有所帮助,如有疑问请在此提问。

干杯。

关于iOS PHAssetCollection localizedTitle 总是返回英文名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42579544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com