IOS命令行打包&静态代码检查

敏捷开发中,从代码到打包,到静态检查,到单测,到接口测试,再到页面测试,应该是个完整的流程,ios虽然是闭源,也可以使用工具实现这一过程,下面简单记录下打包和静态代码检查的方法。

打包

ios命令行打包,无非就是两条命令xcodebuildxcrun,不过因为苹果对签名和权限控制的比较严格,需要开发者账号才能搞定。

    xcodebuild -target "${PROJECT_NAME}" -sdk "${TARGET_SDK}" -configuration Release | tee xcodebuild.log

    /usr/bin/xcrun -sdk iphoneos PackageApplication -v "${PROJECT_BUILDDIR}/${PROJECT_NAME}.app" -o "${OUTPUT_DIR}/${PROJECT_NAME}.ipa" --sign "开发者名字或者公司名字" --embed "${PROVISONNING_PROFILE}"

如果需要远程打包,需要提前执行下面的命令:

    security unlock-keychain -p yourpassword  ~/Library/Keychains/login.keychain

静态代码检查

这里使用oclint,使用oclint需要xcodebuild编译时的日志作为输入。所以在ios打包的时候,要把日志记录下来。

    xcodebuild -target "${PROJECT_NAME}" -sdk "${TARGET_SDK}" -configuration Release | tee xcodebuild.log  

下面是oclint检查的过程:

oclint-xcodebuild xcodebuild.log
oclint-json-compilation-database -e 3rdLibs* -e LONG_CLASS -e LONG_METHOD -e TOO_MANY_PARAMETERS -e LONG_LINE -- -report-type pmd -o oclint.xml

if [ "$?" = "0" ]; then
    echo "no warning"
else
    echo "with warning"
fi

oclint.xml就是检查的结果,jenkins中有插件可以直接以页面的形式展示出来,方式是使用”Publish PMD analysis results”。

屏幕快照 2015-01-14 下午6.03.12

手机app的安装卸载

ipa文件打出来了,静态代码检查完了。如何把app直接装到手机上,可以使用fruitstrap这款工具,Github地址:https://github.com/ghughes/fruitstrap

安装卸载命令:

    #echo "uninstall ios app"
    cd $Project_path
    $Fruit_path/fruitstrap uninstall --bundle some.ipa

    echo "install ios app"
    /Users/apple/work/fruitstrap/fruitstrap install --bundle some.ipa

这样后面再运行界面自动化,流程就走通了。

One thought on “IOS命令行打包&静态代码检查

发表评论

电子邮件地址不会被公开。 必填项已用*标注

(Spamcheck Enabled)