Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 斯威夫特没有';t返回URLResourceKey.localizedNameKey的本地化版本_Swift - Fatal编程技术网

Swift 斯威夫特没有';t返回URLResourceKey.localizedNameKey的本地化版本

Swift 斯威夫特没有';t返回URLResourceKey.localizedNameKey的本地化版本,swift,Swift,我在意大利,下面的代码应该返回Preview.app的本地化名称,但它返回Preview.app let url = URL(fileURLWithPath:"/Applications/Preview.app") let v = try! url.resourceValues(forKeys: [.localizedNameKey]) print(v.localizedName!) NSString* displayName = nil; NSURL* u = [NSURL fileURLW

我在意大利,下面的代码应该返回Preview.app的本地化名称,但它返回
Preview.app

let url = URL(fileURLWithPath:"/Applications/Preview.app")
let v = try! url.resourceValues(forKeys: [.localizedNameKey])
print(v.localizedName!)
NSString* displayName = nil;
NSURL* u = [NSURL fileURLWithPath:@"/Applications/Preview.app"];
[u getResourceValue:&displayName forKey:NSURLLocalizedNameKey error:nil];
NSLog(@"%@", displayName);
我已经检查了返回的语言,它是正确的

let language = NSLocale.preferredLanguages[0]
print(language)
Objective-C版本工作正常,返回
Anteprima
意大利本地化的
/Applications/Preview.app

let url = URL(fileURLWithPath:"/Applications/Preview.app")
let v = try! url.resourceValues(forKeys: [.localizedNameKey])
print(v.localizedName!)
NSString* displayName = nil;
NSURL* u = [NSURL fileURLWithPath:@"/Applications/Preview.app"];
[u getResourceValue:&displayName forKey:NSURLLocalizedNameKey error:nil];
NSLog(@"%@", displayName);
错误在哪里?

代码正常

我敢打赌你有一个单独的Swift项目,只是忘了在
Info.plist
中设置
CFBundleLocalizations

<key>CFBundleLocalizations</key>
<array>
  <string>en</string>
  <string>it</string>
</array>
CbundleLocalizations
EN
信息技术

不在此数组中的任何内容都无法正常工作。

若要加厚绘图,请仅使用
“/Applications/”
进行尝试。我得到了合适的
applicationi
。如果我在Xcode 8/Swift 3中启动一个裸露的Mac OS X项目,并将“本地化本机开发区域”设置为“it”,它就会工作。如果我改为使用:
UserDefaults.standard.set([“it”],forKey:“AppleLanguages”)
即使
NSLocale.preferredLanguages[0]
返回
它也不起作用。因此,
CbundledevelopmentRegion
所做的不仅仅是AppleBundle。谢谢,这是有效的!!我不明白为什么Objective-C项目不需要这个设置,但对我来说没关系:)