def add_folder_reference(self, path, parent=None, target_name=None): file_count = 0 push_count = 0 default_options = FileOptions() file_list = os.listdir(path) # print('xcode files:', len(file_list)) for f in file_list: if (f[0] == '.'): continue # 过滤隐藏文件 file_path = os.path.join(path, f) n = 0 if (os.path.isfile(file_path)): self.desc_file_by_path(file_path) n = len( self.xcproj.add_file(file_path, parent, TreeType.GROUP, target_name, default_options)) elif (os.path.isdir(file_path)): n = len( self.xcproj.add_folder(file_path, parent, None, True, False, target_name, default_options)) push_count += n file_count += 1 assert push_count == file_count, 'add_folder_reference error [%d/%d]' % ( push_count, file_count) return push_count
def add_capability_in_app_purchase(self): file_options = FileOptions(embed_framework=False) frameworks = self.get_or_create_group('Frameworks') self.add_file('System/Library/Frameworks/StoreKit.framework', parent=frameworks, tree='SDKROOT', force=False, file_options=file_options)
def _config_system_frameworks(self): libs = self._config.get('build_phase', 'frameworks') items = self._process_array(libs.split(',')) if items[0] == '': return file_options = FileOptions(embed_framework=False) frameworks = self._project.get_or_create_group('Frameworks') for item in items: temp = 'System/Library/Frameworks/%s' % item self._project.add_file(temp, parent=frameworks, tree='SDKROOT', force=False, file_options=file_options)
def my_add_folder(path, parent, excludes): file_options = FileOptions() if not os.path.isdir(path): return None # iterate over the objects in the directory for child in os.listdir(path): # exclude dirs or files matching any of the expressions if [pattern for pattern in excludes if re.match(pattern, child)]: continue full_path = os.path.join(path, child) if os.path.isfile(full_path): # check if the file exists already, if not add it project.add_file(full_path, parent, target_name=mainTargetName, force=False, tree='<absolute>', file_options=file_options) else: new_parent = project.add_group(child, child, parent) my_add_folder(full_path, new_parent, excludes)
def _config_files(self): key = 'file' paths = self._process_array( self._config.get(key, 'file_path').split(',')) if paths[0] == '': return options = FileOptions(embed_framework=False) for path in paths: # 删除已存在的 groupName = os.path.basename(path) newPath = os.path.join(self._project_dir, groupName) self._project.remove_group_by_name(groupName) # 移动文件到工程中 os.system('rm -rf %s' % newPath) os.system('cp -rf %s %s' % (path, self._project_dir)) self._project.add_folder(newPath, excludes=self._exclude, file_options=options)
def apply_module_settings(decl, group): if "assets" in decl: for src in decl["assets"]: project.add_file("assets", parent=group, force=True) if "cpp" in decl: for src in decl["cpp"]: my_add_folder(src, parent=project.add_group("src", parent=group), excludes=excludes) header_search_paths.append(src) if "cpp_include" in decl: for src in decl["cpp_include"]: project.add_folder(src, parent=group, recursive=True, create_groups=False, excludes=excludes, file_options=FileOptions(create_build_files=False, ignore_unknown_type=True, embed_framework=False)) header_search_paths.append(src) if "cpp_define" in decl: for define in decl["cpp_define"]: compileDefines.append("-D" + define) if "cpp_flags" in decl: for flags in decl["cpp_flags"]: if "files" in flags and "flags" in flags: set_cpp_flags_for_files(project, flags["files"], flags["flags"]) if "xcode_framework" in decl: for framework in decl["xcode_framework"]: project.add_file("System/Library/Frameworks/" + framework + ".framework", tree='SDKROOT', force=False, file_options=FileOptions(weak=False, embed_framework=False)) if "xcode_capability" in decl: for capability in decl["xcode_capability"]: caps.append(capability) if "xcode_file" in decl: for file in decl["xcode_file"]: project.add_file(file)
def apply_module_settings(decl, group): if "assets" in decl: for src in decl["assets"]: project.add_file("assets", parent=group, force=True) if "cpp" in decl: for src in decl["cpp"]: my_add_folder(src, parent=group, excludes=excludes) header_search_paths.append(src) if "cpp_flags" in decl and "files" in decl["cpp_flags"]: set_cpp_flags_for_files(project, decl["cpp_flags"]["files"], decl["cpp_flags"]["flags"]) if "xcode" in decl: if "frameworks" in decl["xcode"]: for fr in decl["xcode"]["frameworks"]: project.add_file( "System/Library/Frameworks/" + fr + ".framework", tree='SDKROOT', force=False, file_options=FileOptions(weak=False, embed_framework=False)) if "capabilities" in decl["xcode"]: for cap in decl["xcode"]["capabilities"]: caps.append(cap)
'TurnerPlayerKit.framework': True, 'AdManager.framework': False } print("\n\nAdding Turner Frameworks:") print("-------------------------") for framework, embed in turner_frameworks.iteritems(): print("Adding: %s" % framework) framework_path = os.path.join(full_embedded_path, framework) target_path = os.path.join(ios_project_path, framework) print "framework_path = %s" % framework_path print "target_path = %s" % target_path copy_tree(framework_path, target_path) frameworks = project.get_or_create_group('Frameworks') file_options = FileOptions(embed_framework=embed) blah = project.add_file(target_path, parent=frameworks, target_name=project_name, file_options=file_options) ########################## # Auth Services framework # Embedded # Source: <Project_Path>/node_modules/origin-react-native-video-player/ios/libAuthServices_3.5.2.a ########################## full_blocks_path = os.path.join(origin_player_path, 'ios/') turner_blocks = {'libAuthServices_3.5.2.a': False} for block, embed in turner_blocks.iteritems():