🐛 Fix a bug when the unlinking script run twice changed the parsing of the iOS project.

This commit is contained in:
Salma ElTarzi 2017-09-09 15:45:50 +02:00
parent 963bea72bf
commit 7f1254bd8c
2 changed files with 8 additions and 3 deletions

View File

@ -51,7 +51,9 @@ end
# Add framework to target as "Embedded Frameworks"
framework_ref = frameworks_group.files.find { |file_reference| file_reference.path == "#{framework_root}/#{framework_name}"}
is_linked = true
if framework_ref == nil
is_linked = false
framework_ref = frameworks_group.new_file("#{framework_root}/#{framework_name}")
build_file = embed_frameworks_build_phase.add_file_reference(framework_ref)
frameworks_build_phase.add_file_reference(framework_ref)
@ -66,4 +68,4 @@ if shell_script_build_phase == nil
end
# Save Xcode project
project.save
project.save unless is_linked

View File

@ -27,9 +27,12 @@ frameworks_build_phase = target.build_phases.find { |build_phase| build_phase.to
embed_frameworks_build_phase = target.build_phases.find { |build_phase| build_phase.to_s == 'Embed Frameworks'}
target.build_phases.delete(embed_frameworks_build_phase) if embed_frameworks_build_phase
is_string = false;
# Remove framework search path from target
['Debug', 'Release'].each do |config|
target.build_settings(config)['FRAMEWORK_SEARCH_PATHS'].delete(framework_root)
is_string ||= target.build_settings(config)['FRAMEWORK_SEARCH_PATHS'].is_a? String
target.build_settings(config)['FRAMEWORK_SEARCH_PATHS'].delete(framework_root)
end
# Remove framework from target from "Embedded Frameworks"
@ -42,4 +45,4 @@ shell_script_build_phase = target.shell_script_build_phases.find { |build_phase|
target.build_phases.delete(shell_script_build_phase) if shell_script_build_phase
# Save Xcode project
project.save
project.save unless is_string