本文介绍了将 mPaaS 国际化能力接入 iOS 客户端过程中的注意事项。
如果您的应用有国际化需求,请执行如下操作。
多语言适配 (英/法/俄)
检查接入的组件
检查接入的组件,部分组件依赖的高德 SDK 或热修复组件可能无法通过 App Store 的审核,需要替换或移除相关 SDK 或组件,以及部分三方 SDK 可能会向中国大陆发送数据,可以根据需求决定是否移除相关组件。
多语言适配
多语言支持
英语
自 mPaaS iOS 10.2.3.64 基线起,mPaaS iOS SDK 已整体适配多语言 - 英语环境,将基线升级到 10.2.3.64 以上版本后即可使用;如果您使用的是小程序新容器,请将基线升级到 cp_change_15200851.55
及以上版本。
法语/俄语
如果还需要支持法语/俄语环境, 请搜索群号 41708565 加入钉钉群或 提交工单 联系 mPaaS 技术支持人员获取对应的语言包并检查翻译结果,将相应的语言包文件放到工程的 Languages.bundle
文件中。
多语言设置
默认跟随系统语言
在工程中添加 Languages.bundle.zip 来设置当前 App 支持的语言。
在应用启动完成时,初始化多语言框架。
//#import <mPaas/APLanguage.h> [APLanguageSetting sharedSetting];
获取 App 当前语言
通过以下方式获取 App 当前语言。
NSString *currentLanguage = [APLanguageSetting currentLanguage].name;
修改 App 当前语言
在工程的
Languages.bundle
中,可查看当前 App 支持的语言,可通过以下方式修改 App 当前语言。[APLanguageSetting setCurrentLanguageWithName:@"en"];
若集成了离线包或小程序组件,请在初始化容器时,增加
Language/en
的userAgnet
。[MPNebulaAdapterInterface shareInstance].nebulaUserAgent = @"mPaaS/Portal Language/en";
开启离线包或小程序默认报错页的开关,设置
h5_mpaas_error_page
为true
。设置开关的方法请参考 接入小程序的注意事项。
- (NSDictionary *)nebulaCustomConfig { return @{@"h5_mpaas_error_page":@"YES"}; }
检查接入的组件
高德定位 & 地图
高德定位和地图 SDK 部分版本无法通过 App Store 审核,请检查您的应用是否接入 mPaaS_AMap,如有接入需手动移除相关依赖。
移除高德 SDK 依赖
安装 cocoapods-mPaaS 插件。
sh <(curl -s http://mpaas-ios.oss-cn-hangzhou.aliyuncs.com/cocoapods/installmPaaSCocoaPodsPlugin.sh)
重新运行命令更新本地基线:
pod mpaas update 10.2.3
。使用
mPaaS_pod
命令之前,在 Podfile 中引入remove_pod "mPaaS_AMap"
。去除高德组件库后,使用
pod install
命令重新拉取。
热修复
由于 App Store 禁止应用动态下发可执行的代码文件,接入热修复可能会导致您的应用存在拒审风险,推荐不接入热修复组件。
三方 SDK 数据发送
mPaaS SDK 中引入的三方 SDK 可能会向设立于中国大陆的服务器发送请求,如不希望您的应用向中国大陆发送数据,请您检查并确保未引入以下组件:
分享 mPaaS_Share
优酷播放器 mPaaS_TinyApp_Player
并将对应的 mPaaS 组件名从 Podfile 文件中删除。