画像のローカリゼーションを使用してきましたが、オンデマンドのリソース コンセプトを使用したいと考えています。ユーザーが英語を選択すると、アプリが英語に関連する画像を表示するようにこれを実装したいと思います。この時点では、オンデマンド リソースを使用して他の言語の画像ではなく、英語の画像のみをダウンロードしたいと考えています。これは私が試したものです:
NSSet *tags = [[NSSet alloc] initWithObjects:@"english", @"france", @"italy", nil];
NSLog(@"tags:%@", tags);
NSBundleResourceRequest *request = [[NSBundleResourceRequest alloc] initWithTags:tags];
[request conditionallyBeginAccessingResourcesWithCompletionHandler:^(BOOL resourcesAvailable) {
if (resourcesAvailable) {
[self.img setImage:[UIImage imageNamed:NSLocalizedString(@"imageName", nil)]];
}
else {
[request beginAccessingResourcesWithCompletionHandler:^(NSError * _Nullable error) {
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
if(error == nil) {
[self.img setImage:[UIImage imageNamed:NSLocalizedString(@"imageName", nil)]];
}
else {
NSLog(@"the error is: %@", error);
}
}];
}];
}
}];
[request endAccessingResources];
これを使用すると、私の言語として英語を使用すると、すべてのリソースがダウンロードされます。誰かが私を助けることができれば、それは大きな助けになるでしょう。