Код: Выделить всё
let bundle = Bundle(url: Bundle(for: UINavigationController.self).url(forResource: "de", withExtension: "lproj")!)!
print("📁 \(bundle.bundleURL)")
for file in try! FileManager.default.contentsOfDirectory(at: bundle.bundleURL, includingPropertiesForKeys: []) {
print(" 📄 \(file.lastPathComponent)")
}
let done = bundle.localizedString(forKey: "Done", value: "_fallback_", table: "Localizable")
print("Done in German: \(done)")
< /code>
он печатал следующее, как и ожидалось: < /p>
📁 file:///Applications/Xcode-14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/de.lproj/
📄 Localizable.strings
📄 Localizable.stringsdict
📄 UITableViewLocalizedSectionIndex.plist
Done in German: Fertig
< /code>
Обратите внимание, что этот метод все еще работает над симуляторами (например, iPhone 14 Pro, работающий в iOS 16.4), но не работает на реальных устройствах. < /p>
При запуске этого же кода на iPhone 11 под управлением iOS 16.5.1 я получаю следующий вывод: < /p>
📁 file:///System/Library/PrivateFrameworks/UIKitCore.framework/de.lproj/
📄 UITableViewLocalizedSectionIndex.plist
Done in German: _fallback_
Подробнее здесь: https://stackoverflow.com/questions/768 ... versions-o
Мобильная версия