Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 通过ruby gem xcodeproj更改代码签名标识_Ios_Ruby_Xcode_Xcode Project_Xcodeproj Gem - Fatal编程技术网

Ios 通过ruby gem xcodeproj更改代码签名标识

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*]']

我对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*]'] = "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