【发布时间】:2018-03-14 18:00:27
【问题描述】:
我有一个包含多个应用程序目标的项目,并且需要能够将现有的英文本地化字符串文件添加到其中一个目标中,仅供开发使用。
这是我的场景:
- 目标 A 使用英语 + 多个非英语本地化字符串文件。
- 目标 B 仅使用 1 个非英语本地化字符串文件。
- App Store 版本中不能包含目标 B 的英文字符串。
但是,为了在开发过程中提供帮助,我们目前手动将英文字符串添加到 Target B 的本地化文件中(在出现提示时使用 Target A 中的现有文件),并在提交 App Store 之前将其删除。
由于我们已经运行了 Fastlane 设置/拆卸脚本,我想自动从脚本中添加/删除英文字符串,这样我们就不必每次都手动进行。
在 Fastfile 中,我知道如何将文件添加到目标 B,但由于 Xcode 中本地化文件/引用的结构与常规文件略有不同,我不确定正确的做法是什么。
这是我目前所拥有的:
def add_english_localization()
require 'xcodeproj'
project = Xcodeproj::Project.open("../Code/#{XCODE_PROJ}")
app_target = project.targets.first #Target B
english_file_ref = project.main_group.new_file('../Code/TargetA/Application/Supporting Files/en.lproj') #Existing english file in Target A's directory
app_target.add_file_references([english_file_ref]) #This adds the file but doesn't properly update Xcode's Localization references...?
project.save
end
截图:
【问题讨论】:
-
您也许可以使用Xcodeproj 来做到这一点,尽管我不知道怎么做。我知道检查这些会在您的
project.pbxproj文件中添加一些行。
标签: ios xcode localization fastlane