fastlane/lib/fastlane/actions/update_project_provisioning.rb in fastlane-2.96.0.beta.20180518050116 vs fastlane/lib/fastlane/actions/update_project_provisioning.rb in fastlane-2.96.0.beta.20180519050103
- old
+ new
@@ -38,10 +38,11 @@
p7.verify([cert], store)
data = Plist.parse_xml(p7.data)
target_filter = params[:target_filter] || params[:build_configuration_filter]
configuration = params[:build_configuration]
+ code_signing_identity = params[:code_signing_identity]
# manipulate project file
UI.success("Going to update project '#{folder}' with UUID")
require 'xcodeproj'
@@ -61,10 +62,17 @@
else
UI.important("Skipping configuration #{config_name} as it doesn't match the filter '#{configuration}'")
next
end
+ if code_signing_identity
+ codesign_build_settings_keys = build_configuration.build_settings.keys.select { |key| key.to_s.match(/CODE_SIGN_IDENTITY.*/) }
+ codesign_build_settings_keys.each do |setting|
+ build_configuration.build_settings[setting] = code_signing_identity
+ end
+ end
+
build_configuration.build_settings["PROVISIONING_PROFILE"] = data["UUID"]
build_configuration.build_settings["PROVISIONING_PROFILE_SPECIFIER"] = data["Name"]
end
end
@@ -127,11 +135,15 @@
UI.user_error!("build_configuration should be Regexp or String") unless [Regexp, String].any? { |type| value.kind_of?(type) }
end),
FastlaneCore::ConfigItem.new(key: :certificate,
env_name: "FL_PROJECT_PROVISIONING_CERTIFICATE_PATH",
description: "Path to apple root certificate",
- default_value: "/tmp/AppleIncRootCertificate.cer")
+ default_value: "/tmp/AppleIncRootCertificate.cer"),
+ FastlaneCore::ConfigItem.new(key: :code_signing_identity,
+ env_name: "FL_PROJECT_PROVISIONING_CODE_SIGN_IDENTITY",
+ description: "Code sign identity for build configuration",
+ optional: true)
]
end
def self.authors
["tobiasstrebitzer", "czechboy0"]
@@ -145,10 +157,11 @@
[
'update_project_provisioning(
xcodeproj: "Project.xcodeproj",
profile: "./watch_app_store.mobileprovision", # optional if you use sigh
target_filter: ".*WatchKit Extension.*", # matches name or type of a target
- build_configuration: "Release"
+ build_configuration: "Release",
+ code_signing_identity: "iPhone Development" # optionally specify the codesigning identity
)'
]
end
def self.category