iOS——xcodeproj脚本

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了iOS——xcodeproj脚本脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

Ruby脚本设置xcode

xcodePRoj脚本常用操作:

require 'xcodeproj'

# 移除Group下所有
def removeBuildPhaseFilesRecursively(aTarget, aGroup)
    aGroup.files.each do |file|
        if file.real_path.to_s.end_wITh?(".m", ".mm", ".cpp") then
            aTarget.source_build_phase.remove_file_reference(file)
        elsif file.real_path.to_s.end_with?(".plist") then
            aTarget.resources_build_phase.remove_file_reference(file)
        end
    end

    aGroup.groups.each do |group|
        removeBuildPhaseFilesRecursively(aTarget, group)
    end
end

# 添加文件
def adDFiles (direc, current_group, main_target)
    Dir.glob(direc) do |item|
        next if item == '.' or item == '.DS_Store'

                if File.directory?(item)
            new_folder = File.basename(item)
            created_group = current_group.new_group(new_folder)
            addfiles("#{item}/*", created_group, main_target)
        else 
            i = current_group.new_file(item)
            if item.include? ".m" or item.include? ".mm" or item.include? ".swift"
                main_target.add_file_references([i])
            end
        end
    end
end

# 设置build setting
def buildset(project)
    # 遍历配置
    project.targets[0].build_configurations.each do |config|
        puts config.name   # Debug / Release
        #获得build settings
        build_settings = config.build_settings
        #build_settings是一个哈希,里面是一个个配置
        # build_settings.each do |key,value|
        #     # print key, " == ", value, "n"
        #     # 可在这里进行设置证书等操作,常用的如下:
        # end

        build_settings["ENABLE_BITCODE"] = "NO"                 # 快手广告取消设置bitcode

    end
end

# 脚本入口
path = File.join(File.dirname(__FILE__), "./Unity-iPhone.xcodeproj")
project = Xcodeproj::Project.oPEn(path)

project.targets.each do |target|
    puts target.name
end

# 获取以项目命名的Target
target = project.targets.First

unityClassGroup = project.main_group.find_subpath(File.join('Classes'), true)

unityClassGroup.set_source_tree('SOURCE_ROOT')

# if !unityClassGroup.empty? then
#     removeBuildPhaseFilesRecursively(target, unityClassGroup)
#     unityClassGroup.clear()
# end

# 要复制的文件夹
filesDic = '/Users/lijiafei/Desktop/Xiaochijie/Temp/Classes'

addfiles("#{filesDic}/*", unityClassGroup, target)

buildset(project)

project.save

执行脚本:


ruby xcodeproj.rb

脚本宝典总结

以上是脚本宝典为你收集整理的iOS——xcodeproj脚本全部内容,希望文章能够帮你解决iOS——xcodeproj脚本所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。