首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS PHAssetCollection localizedTitle总是返回英文名称

iOS PHAssetCollection localizedTitle总是返回英文名称
EN

Stack Overflow用户
提问于 2017-03-03 12:59:56
回答 4查看 1.7K关注 0票数 8

我使用Apples将PHAssetCollections加载到我的应用程序中。我总是得到智能系列的英文名称。例如,我得到‘收藏’而不是'Favoriter‘(瑞典语)。我认为localizedTitle属性将返回模拟器或iPhone运行的语言。(在带有瑞典语和区域的iPhone上运行)。

还有其他人遇到过这个吗?示例代码:

代码语言:javascript
复制
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
    }
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-03-07 07:16:21

为什么collection.localizedTitle不返回任何其他语言,因为您的应用程序只有一个本地化,即English。这绝对是一个苹果Bug,但这里有一个黑客遵循以下步骤。

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

更新

如果要在添加空白文本后轻松添加更多语言,可以通过选择Project添加“在其他答案中显示的语言”,在本地化部分“添加语言”部分再次选择“空白文件”,因为我们不希望本地化其他文件。

希望它有帮助,如果怀疑问这里。

干杯。

票数 5
EN

Stack Overflow用户

发布于 2017-03-09 08:54:32

我认为你应该确保你的应用程序支持瑞典语。添加要支持瑞典语的语言,例如

票数 3
EN

Stack Overflow用户

发布于 2017-03-06 20:27:06

您的问题可能是,您的获取没有显式或隐式返回内置收藏夹智能相册。(此外,它还有助于诊断,让您的代码只检查一次提取的结果,这样您就可以知道哪一个包含非本地化的“收藏”)。

如果显式地想要收藏集,请使用PHAssetCollectionSubtypeSmartAlbumFavorites集合子类型搜索它。(这不应该是搜索常规相册或同步相册的结果,我会惊讶地看到它出现在顶级的用户集合中,因为这被记录为只返回用户创建的集合。)

如果显式地请求收藏智能专辑返回一个非本地化版本,或者您的另一个获取返回收藏智能专辑,而它没有本地化,这可能是苹果的缺陷-我推荐告诉他们

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42579544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档