From 7f1254bd8c82500bd8cc02b47195206b6cbd8e1b Mon Sep 17 00:00:00 2001 From: Salma ElTarzi Date: Sat, 9 Sep 2017 15:45:50 +0200 Subject: [PATCH] :bug: Fix a bug when the unlinking script run twice changed the parsing of the iOS project. --- link.rb | 4 +++- unlink.rb | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/link.rb b/link.rb index 45eb2cd..56b1ac8 100644 --- a/link.rb +++ b/link.rb @@ -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 \ No newline at end of file +project.save unless is_linked \ No newline at end of file diff --git a/unlink.rb b/unlink.rb index ff653d2..3e1b2eb 100644 --- a/unlink.rb +++ b/unlink.rb @@ -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 \ No newline at end of file +project.save unless is_string \ No newline at end of file