进入Build Phases页面,点击加号选择“New Run Script Phases”创建Run Script

在这里添加Run Script,

1.每次编译运行版本号(bundleVersion)自增+1

buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")

buildNumber=$(($buildNumber + 1))

/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"

2.是在为项目关键方法添加代码混淆时,运行某个脚本

bundleName=${APP_DISPLAY_NAME}

appiName="项目名称"

if [ "$bundleName" = "$appiName" ]; then

$PROJECT_DIR/$PROJECT_NAME/class_dump/LRHConfuse.sh

fi

运行时Xcode会打印脚本是否执行正确。

---------------------

作者:培根芝士

来源:CSDN

原文:https://blog.csdn.net/watson2017/article/details/83145811

版权声明:本文为博主原创文章,转载请附上博文链接!

xcode脚本

https://www.jianshu.com/p/171c7ada3ab5

2018.09.02 15:40 字数 56 阅读 248评论 0喜欢 1
一、自动增加脚本

点击添加按钮

 
屏幕快照 2018-08-28 11.16.28 PM.png

点击添加按钮

 
屏幕快照 2018-08-28 11.18.16 PM.png

添加脚本

buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")

buildNumber=$(($buildNumber + 1))

/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"

编译运行、查看build version (递增)

 
屏幕快照 2018-08-28 11.20.23 PM.png
二、运行shell脚本

新建target

 
屏幕快照 2018-09-02 03.30.59 PM.png

选择scheme

 
屏幕快照 2018-09-02 03.32.44 PM.png

添加shell脚本

 
20150116172903615.jpeg
 
20150116172928125.jpeg
 
20150116173048463.jpeg
 
20150116173126402.jpeg

编译运行

 
20150116173146932.jpeg

相关问题

1、shell脚本不能带.sh后缀,否则没法选择

2、Found an unexpected Mach-O header code: 1869112165错误:解决的办法,shell脚本中必须带#!/bin/sh。

There is an problem launching using posix_spawn (error code: 8).错误:解决的办法,shell脚本中必须带#!/bin/sh

 
20150116173522546.jpeg
 

3、'/Users/user/lcg/code/ShellDemo/ShellDemo/print' doesn't contain the architecture x86_64h错误,这个错误在xcode5.1版本不会出现,解决的办法是,去掉勾选Debug executable

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

iOS网络请求返回的汉字在日志里会显示成\U63d0\U4ea4\U6210\U529f,用下面的脚本就可以把Unicode显示成汉字

#!/bin/sh

cmd="/usr/bin/env python -c 'print(\"\"\"$1\"\"\".lower().decode(\"unicode-escape\").encode(\"utf-8\"))'"

echo $cmd | sh

比如:把这个脚本命名为co,并使用chmod +x co添加可执行属性

使用co '\U63d0\U4ea4\U6210\U529f'就可以显示汉字了。

作者:redexpress

链接:https://www.jianshu.com/p/acb8c155df90

來源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

oc之脚本的更多相关文章

  1. RedHat OpenShift QuickStart 1.1 OpenShift基础

    openshift 提供了命令行工具和web可视化页面,这些工具通过REST API去和openshift交互 一.开始为开发人员使用OpenShift 1. 探索命令行 2. 探索web conso ...

  2. iOS:在OC中调用JS脚本

    示例一:在webView中调用js脚本进行搜索 1.首先导入JavaScriptCore.framework这个框架 2.创建webView.设置代理.请求手机端百度 #import "Vi ...

  3. oc 执行shell 脚本

    -(id) InvokingShellScriptAtPath :(NSString*) shellScriptPath { NSTask *shellTask = [[NSTask alloc]in ...

  4. WebViewJavascriptBridge源码探究--看OC和JS交互过程

    今天把实现OC代码和JS代码交互的第三方库WebViewJavascriptBridge源码看了下,oc调用js方法我们是知道的,系统提供了stringByEvaluatingJavaScriptFr ...

  5. shell及脚本4——shell script

    一.格式 1.1 开头 必须以 "# !/bin/bash"  开头,告诉系统这是一个bash shell脚本.注意#与!中间有空格. 二.语法 2.1 数值运算 可以用decla ...

  6. JMeter学习-023-JMeter 命令行(非GUI)模式详解(一)-执行、输出结果及日志、简单分布执行脚本

    前文 讲述了JMeter分布式运行脚本,以更好的达到预设的性能测试(并发)场景.同时,在前文的第一章节中也提到了 JMeter 命令行(非GUI)模式,那么此文就继续前文,针对 JMeter 的命令行 ...

  7. 5.Swift枚举|结构体|类|属性|方法|下标脚本|继承

    1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum  Celebrity{  case DongXie,XiDu,Nandi,BeiGai }  // 从左 ...

  8. Android自动化学习笔记之MonkeyRunner:用Eclipse执行MonkeyRunner脚本

    Info: 初步学习,难免会有疏漏,以后我会不断修改补全,直到完美.转载请注明出处,谢谢. 2014-10-11: 初版 2014-10-16: 完善 ------------------------ ...

  9. java_jdk_JDK版本切换批处理脚本

    我们平时在window上做开发的时候,可能需要同时开发两个甚至多个项目,有时不同的项目对JDK的版本要求有区别,这时候我们可能会在一台电脑上安装多个版本的JDK,如下图所示:

随机推荐

  1. Mysql的NULL和Empty String

    本文基于Mysql5.7版本的参考资料: https://dev.mysql.com/doc/refman/5.7/en/working-with-null.html https://dev.mysq ...

  2. C# Modbus协议中读取浮点数的操作方法

    输入参数P1,P2代表PLC中浮点数储存的两个寄存器获取的数据 public static float GetFloat(ushort P1, ushort P2) { int intSign, in ...

  3. Docker: docker container常用命令实战(2)-数据持久化

    应用服务是在容器中运行的,容器随时会被删除,如果是个mysql容器呢?数据存储在容器里,容器删除了,数据也没了,那就是个噩梦. 所以一些数据是需要存储在容器之外的,可以是宿主机,可以是网络存储位置上, ...

  4. IntelliJ IDEA 创建Spring+SpringMVC+mybatis+maven项目

    参考自:https://www.cnblogs.com/hackyo/p/6646051.html 第一步: 创建maven项目 输入项目名和工程id 选择maven 默认就可以了 刚开始时间比较长, ...

  5. Java断言(Assertion)

    断言(Assertion)是Java中一条语句,包含一个布尔表达式,当该布尔值为真,程序则被认为是正确的:当布尔值为假,则系统会抛出错误. 断言默认禁用的,在开发时候可开启功能,有利于纠正错误,增加可 ...

  6. creo2.0安装方法和图文详解教程

    Creo2.0是由PTC公司2012年8月底推出的全新CAD设计软件包,整合了PTC公司的三个软件Pro/Engineer的参数化技术.CoCreate的直接建模技术和ProductView的三维可视 ...

  7. 设计模式のBridgePattern(桥接模式)----结构模式

    一.产生背景 这里以电视遥控器的一个例子来引出桥接模式解决的问题,首先,我们每个牌子的电视机都有一个遥控器,此时我们能想到的一个设计是——把遥控器做为一个抽象类,抽象类中提供遥控器的所有实现,其他具体 ...

  8. WPF画图の利用Path画扇形(仅图形)

    一.画弧 Path继承自Sharp,以System.Windows.Shapes.Shape为基类,它是一个具有各种方法的控件. 我们先看一段xaml代码: <Path Stroke=" ...

  9. VS CODE 快捷键

    批量注释 alt + shift +a 单行注释 ctrl +/ 批量文本替换 ctrl +f2 https://www.cnblogs.com/shine-lee/p/10234378.html

  10. 007_Python中的__init__,__call__,__new__

    __init__函数 当一个类实例被创建时, __init__() 方法会自动执行,在类实例创建完毕后执行,类似构建函数.__init__() 可以被当成构建函数,不过不象其它语言中的构建函数,它并不 ...