iOS app中獲取git信息

具體的Demo:https://github.com/y500/GetGitInfo

測(cè)試定位bug需要,在APP內(nèi)部展示git的相關(guān)信息,具體思路就是通過script腳本獲取到想到的信息然后存入info.plist中,然后需要的時(shí)候再從info.plist中取出。

1. 在xcode的build phase中加入script:

#最后一次提交的SHA

git_version=$(git log -1 --format="%h")

#當(dāng)前的分支

git_branch=$(git symbolic-ref --short -q HEAD)

#最后一次提交的作者

git_last_commit_user=$(git log -1 --pretty=format:'%an')

#最后一次提交的時(shí)間

git_last_commit_date=$(git log -1 --format='%cd')

#編譯時(shí)間build_time=$(date)

info_plist="${BUILT_PRODUCTS_DIR}/${EXECUTABLE_FOLDER_PATH}/Info.plist"

/usr/libexec/PlistBuddy -c "Set :'GitCommitSHA' '${git_version}'" "${info_plist}"

/usr/libexec/PlistBuddy -c "Set :'GitCommitBranch' '${git_branch}'" "${info_plist}"

/usr/libexec/PlistBuddy -c "Set :'GitCommitUser' '${git_last_commit_user}'" "${info_plist}"

/usr/libexec/PlistBuddy -c "Set :'GitCommitDate' '${git_last_commit_date}'" "${info_plist}"

/usr/libexec/PlistBuddy -c "Set :'BuildTime' '${build_time}'" "${info_plist}"

?2. 在info.plist中加入對(duì)象的鍵值對(duì):

<key>GitCommitSHA</key>

<string></string>

<key>GitCommitBranch</key>

<string></string>

<key>GitCommitUser</key>

<string></string>

<key>GitCommitDate</key>

<string></string>

<key>BuildTime</key>

<string></string>


?3. 帶代碼獲取并使用:

NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];

_commitLabel.text = [NSString stringWithFormat:@"最后提交SHA:%@", [infoDic objectForKey:@"GitCommitSHA"]];

_branchLabel.text = [NSString stringWithFormat:@"當(dāng)前所在分支:%@", [infoDic objectForKey:@"GitCommitBranch"]];

_authorLabel.text = [NSString stringWithFormat:@"最后提交用戶:%@", [infoDic objectForKey:@"GitCommitUser"]];

_dateLabel.text = [NSString stringWithFormat:@"最后提交時(shí)間:%@", [infoDic objectForKey:@"GitCommitDate"]];

_buildTimeLabel.text = [NSString stringWithFormat:@"本次編譯時(shí)間:%@", [infoDic objectForKey:@"BuildTime"]];


效果如下圖



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容