iOS——xcodeproj脚本
时间:2021-09-20
本文章向大家介绍iOS——xcodeproj脚本,主要包括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
原文地址:https://www.cnblogs.com/sylvan/p/15314051.html
- 使用Swagger2Markup实现API文档的静态部署(一):AsciiDoc
- 使用Swagger2Markup实现API文档的静态部署(二):Markdown和Confluence
- Dubbo官方的Starter发布1.0.0测试版,与Spring Boot的结合将更加自然
- spring-boot-starter-swagger 1.2.0.RELEASE:新增分组配置功能
- 领域驱动设计
- Spring Boot中使用JavaMailSender发送邮件
- Spring Boot的应用限流
- Spring Cloud构建微服务架构:服务网关(过滤器)【Dalston版】
- 虚拟机类加载机制
- 深入理解JVM垃圾收集机制(JDK1.8)
- 你真的懂let和const吗?
- MYSQL GTID使用运维介绍
- MongoDB系列一(查询).
- Angular CLI 简介
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 关于当前PHP脚本运行时系统信息相关函数
- NIFI启动源码解读
- 高并发系统三大利器之降级
- 简单学习PHP中的层次性能分析器
- 常见乱码问题分析
- 深入理解 Vue 模板渲染:Vue 模板反编译
- 彻底搞懂 etcd 系列文章(七):etcd gRPC 服务 API
- NIFI 开发注解详述
- [已解决]java请求爬取https网站报错javax.net.ssl.SSLHandshakeException的解决办法
- 面经手册 · 第7篇《ArrayList也这么多知识?一个指定位置插入就把谢飞机面晕了!》
- JsonPath实践(六)
- 自定义Processor组件
- Android开发第三讲,布局管理器
- Android 开发第四讲 TextView的基本使用
- Android 开发第五讲 学习Button了解Button属性