我有一个使用 pyinstaller 创建的 mac 应用程序。我已将“NSCalendarsUsageDescription”、“NSContactsUsageDescription”添加到Info.plist
. 这适用于默认英语语言。
现在我想添加Infoplist.string
文件来本地化上面的字符串。我试着复制fr.lproj/Infoplist.string
进来build app/Contents/Resources
。这没有用。
我需要在.spec
某处的文件中添加此引用吗?或者我缺少的其他任何东西。
编辑
我在 xcode 10 中创建了一个测试应用程序。在 Info.plist 中添加了“NSCalendarsUsageDescription”添加了以下代码
NSArray* dirs = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[NSHomeDirectory() stringByAppendingPathComponent:@"/Library/Calendars"] error:&error];
它给出了错误
Error Domain=NSCocoaErrorDomain Code=257 "The file “Calendars” couldn’t be opened because you don’t have permission to view it." UserInfo={NSUserStringVariant=(
Folder
), NSURL=file:///Users/insync/Library/Calendars, NSFilePath=/Users/insync/Library/Calendars, NSUnderlyingError=0x600000c5c870 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}
根据https://developer.apple.com/videos/play/wwdc2018/718/,Mac Mojave 应该给出用户同意提示,要求用户授予使用日历的权限。
我已经签署了这个应用程序并尝试过。还是一样的错误。