Ios 通过ruby gem xcodeproj更改代码签名标识
我对Ruby完全陌生,但在xcode中成功更改了基于项目的代码签名标识和配置文件,如下所示:Ios 通过ruby gem xcodeproj更改代码签名标识,ios,ruby,xcode,xcode-project,xcodeproj-gem,Ios,Ruby,Xcode,Xcode Project,Xcodeproj Gem,我对Ruby完全陌生,但在xcode中成功更改了基于项目的代码签名标识和配置文件,如下所示: #!/usr/bin/env ruby require 'xcodeproj' xcproj = Xcodeproj::Project.open("MyProject.xcodeproj") xcproj.build_configurations.each do |item| item.build_settings['CODE_SIGN_IDENTITY[sdk=iphoneos*]']
#!/usr/bin/env ruby
require 'xcodeproj'
xcproj = Xcodeproj::Project.open("MyProject.xcodeproj")
xcproj.build_configurations.each do |item|
item.build_settings['CODE_SIGN_IDENTITY[sdk=iphoneos*]'] = "iOS Development: xxxxxx xxxx (xxxxxxxxx)"
end
xcproj.build_configurations.each do |item|
item.build_settings['PROVISIONING_PROFILE[sdk=iphoneos*]'] = "628352b1-9b78-xxxx-xxxx-xxxxxxxxx"
end
xcproj.save
我的问题是,基于目标的代码签名标识和配置配置文件将覆盖基于项目的配置文件。但是我找不到一种直接设置基于目标的方法。希望有人能帮忙。谢谢您可以使用
xcodebuild
工具更改代码符号标识和配置文件,而不是直接编辑项目(.xcodeproj)文件:
xcodebuild-sdk-target-configuration code\u SIGN\u IDENTITY=“iOS开发:xxxxxx xxxx(xxxxxxxxx)”PROVISIONING\u PROFILE=“628352b1-9b78-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
您可以通过调用项目的本地\u targets
来访问项目的目标,如下所示:
#!/usr/bin/env ruby
require 'xcodeproj'
xcproj = Xcodeproj::Project.open("MyProject.xcodeproj")
target = xcproj.native_targets.detect { |target| target.name == "MyTarget" }
target.build_configurations.each do |item|
item.build_settings['CODE_SIGN_IDENTITY[sdk=iphoneos*]'] = "iOS Development: xxxxxx xxxx (xxxxxxxxx)"
end
target.build_configurations.each do |item|
item.build_settings['PROVISIONING_PROFILE[sdk=iphoneos*]'] = "628352b1-9b78-xxxx-xxxx-xxxxxxxxx"
end
xcproj.save