From cde41281416c45ca2e39903ed78d7156c425c17a Mon Sep 17 00:00:00 2001 From: Ignacio Calderon Date: Wed, 26 Jun 2024 15:39:14 +0200 Subject: [PATCH] Fix remove files (#355) Co-authored-by: Omar Al-Ithawi --- pbxproj/pbxextensions/ProjectFiles.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pbxproj/pbxextensions/ProjectFiles.py b/pbxproj/pbxextensions/ProjectFiles.py index d833d2e..9057c8d 100644 --- a/pbxproj/pbxextensions/ProjectFiles.py +++ b/pbxproj/pbxextensions/ProjectFiles.py @@ -345,7 +345,7 @@ def remove_file_by_id(self, file_id, target_name=None): for build_file_id in filter(lambda x: x in self.objects, build_phase.files): build_file = self.objects[build_file_id] - if build_file.fileRef == file_ref.get_id(): + if hasattr(build_file, 'fileRef') and build_file.fileRef == file_ref.get_id(): # remove the build file from the phase build_phase.remove_build_file(build_file) @@ -355,7 +355,8 @@ def remove_file_by_id(self, file_id, target_name=None): target.remove_build_phase(build_phase) # remove it iff it's removed from all targets or no build file reference it - if len([1 for x in self.objects.get_objects_in_section('PBXBuildFile') if x.fileRef == file_ref.get_id()]) != 0: + if len([1 for x in self.objects.get_objects_in_section('PBXBuildFile') if + hasattr(x, 'fileRef') and x.fileRef == file_ref.get_id()]) != 0: return True # remove the file from any groups if there is no reference from any target