1
當我使用Xcode爲cordova項目構建和導出ipa時,我可以選擇使用中文的本地化選項。當我轉而使用cordova build -device來直接生成一個沒有Xcode的ipa。如何從命令行指定語言環境選項如何在Cordova構建時指定區域設置
當我使用Xcode爲cordova項目構建和導出ipa時,我可以選擇使用中文的本地化選項。當我轉而使用cordova build -device來直接生成一個沒有Xcode的ipa。如何從命令行指定語言環境選項如何在Cordova構建時指定區域設置
您需要在platforms/ios/{appName}/{appName}-Info.plist
中設置語言。
該語言的關鍵字爲CFBundleDevelopmentRegion
,默認值爲English
。
我不確定哪個值是準確的。我試過Dutch
,但我認爲Chinese
也是一個有效的值。
我創建了一個簡單的Cordova hook來自動執行此任務。只需將它用作ios平臺的after_platform_add
掛鉤即可。
#!/usr/bin/env node
'use strict';
const fs = require('fs');
const path = require('path');
const plist = require('plist');
module.exports = context => {
const ConfigParser = context.requireCordovaModule('cordova-common').ConfigParser;
return new Promise((resolve, reject) => {
let config = new ConfigParser(path.resolve(context.opts.projectRoot, 'config.xml'));
let name = config.name();
let plistPath = path.join(context.opts.projectRoot, 'platforms', 'ios', name, `${name}-Info.plist`);
fs.readFile(plistPath, 'utf-8', (err, data) => {
if (err) {
return reject(err);
}
let infoPlist = plist.parse(data);
infoPlist.CFBundleDevelopmentRegion = 'Chinese';
fs.writeFile(plistPath, plist.build(infoPlist), err => {
if (err) {
return reject();
}
resolve();
});
});
});
};