Что случилось с файлами `localizable.strings` на устройствах в недавних версиях iOS?IOS

Программируем под IOS
Anonymous
Что случилось с файлами `localizable.strings` на устройствах в недавних версиях iOS?

Сообщение Anonymous »

В предыдущих версиях iOS можно было получить доступ к локализации системных ресурсов на устройстве с помощью класса пакета. Используя следующий код: < /p>

Код: Выделить всё

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_
Мы видим, что перевод не удается, потому что локализуемые. случилось с этими файлами в недавних выпусках iOS? Можем ли мы как -нибудь получить к ним доступ?


Подробнее здесь: https://stackoverflow.com/questions/768 ... versions-o

Вернуться в «IOS»