脚本合集
2018-09-01 本文已影响31人
LD_X
1.OC代码自动格式化(py)
Filter_DIRS = [''.git']
Filter_FILES = ['AppDelegate.m', 'AppDelegate.h']
#mode = 1
paths = []##过滤的网址
allPaths = []
import os
import sys
import getopt
path = os.getcwd()
def is_filter_the_dir(path):
"""
过滤目录
"""
for filter_dir in Filter_DIRS:
if filter_dir in path:
return True
return False
def is_filter_the_file(path):
"""
过滤文件
"""
name = os.path.basename(path)
for filter_file in Filter_FILES:
if name == filter_file:
return True
return False
for root, dirs, files in os.walk(path):
if is_filter_the_dir(root):continue
for name in files:
if (name.endswith(".h") or name.endswith(".m")):
localpath = root + '/' + name
if is_filter_the_file(localpath):continue
print localpath
os.system("clang-format -i %s -style=File" %(localpath))
2.podinit.sh
#!/bin/bash
pod init
open Podfile
3.podinstall.sh
#!/bin/bash
#更多复杂的需求查看参考https://juejin.im/post/5a310b2f6fb9a0450d111357
#pod安装
function install(){
echo '输入序号执行'
echo '1.pod install --no-repo-update'
echo '2.pod install --verbose --no-repo-update'
echo '3.pod install'
echo '4.pod update --no-repo-update'
echo '5.pod update --verbose --no-repo-update'
echo '6.pod update'
echo '7.取消'
while read XXY
do
case $XXY in
1) XXY='pod install --no-repo-update'
;;
2) XXY='pod install --verbose --no-repo-update'
;;
3) XXY='pod install'
;;
4) XXY='pod update --no-repo-update'
;;
5) XXY='pod update --verbose --no-repo-update'
;;
6) XXY='pod update'
;;
*) XXY='echo ~退出了'
;;
esac
$XXY
exit 1
done
}
install
4.PPAutoPackageScript
首先,xcode9几个plist不一样,参考PPAutoPackageScript上的解决方法就可以了。
针对项目做了二个自定义。
1.保留scheme_name单独设置,打包完成成如果adhoc模式的,自动上传到蒲公英。
2.一般碰到的简单的项目scheme_name和project_name是相同的,一般也都会使用cocoapods管理,所以基于原来的代码。可以使用脚本获取项目名,修改scheme_name=$project_name,设置成is_workspace="true"。这种简单项目就不需要再去修改什么了。打包完成成如果adhoc模式的,自动上传到蒲公英。
上传代码
# 下一步上传版本
if [ "$method" = "1" ]; then
if [ -f "$export_ipa_path/$ipa_name.ipa" ] ; then
echo "\033[36;1m下一步?(输入序号,按回车即可) \033[0m"
echo "\033[33;1m1. 蒲公英 \033[0m"
echo "\033[33;1m2. AppStore \033[0m"
echo "\033[33;1m3. exit \033[0m"
# 读取用户输入并存到变量里
read parameter
method="$parameter"
# 判读用户是否有输入
if [ -n "$method" ]
then
if [ "$method" = "1" ] ; then
curl -F "file=@$export_ipa_path/$ipa_name.ipa" \
-F "uKey={sssssssssss}" \
-F "_api_key={ssssssssssss}" \
https://qiniu-storage.pgyer.com/apiv1/app/upload
echo "执行成功"
exit 1
elif [ "$method" = "2" ] ; then
echo "不支持此功能"
exit 1
#验证并上传到App Store
# 将-u 后面的XXX替换成自己的AppleID的账号,-p后面的XXX替换成自己的密码。一般不会用这个
#altoolPath="/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/altool"
#"$altoolPath" --validate-app -f ${exportIpaPath}/${scheme_name}.ipa -u xxx -p xxx -t ios --output-format xml
#"$altoolPath" --upload-app -f ${exportIpaPath}/${scheme_name}.ipa -u xxx -p xxx -t ios --output-format xml
elif [ "$method" = "3" ] ; then
echo "退出"
exit 1
else
echo "输入的参数无效!!!"
exit 1
fi
fi
fi
else
exit 1
fi
fi