पर आधारित वृद्धि बिल्ड संस्करण, किसी प्रोजेक्ट को संकलित करते समय, इस स्क्रिप्ट को एक्सकोड प्रोजेक्ट के बिल्ड वर्जन को एक से बढ़ाकर, सिस्टम उपयोगकर्ता नाम से मेल खाता है। ध्यान रखें कि ये लक्ष्य-> चरण चरण-> एक्सकोड में रन स्क्रिप्ट के अंदर एक स्क्रिप्ट (एप्पलस्क्रिप्ट, पायथन या पर्ल नहीं) में यूनिक्स कमांड हैं।एक्सकोड बिल्ड स्क्रिप्ट (बिल्ड चरण-> रन स्क्रिप्ट) उपयोगकर्ता नाम (उपयोगकर्ता)
मैंने टर्मिनल में "यूको $ USER" किया है। यह लॉग-इन उपयोगकर्ता के उपयोगकर्ता नाम को ठीक से प्रिंट करता है, और यह वही स्ट्रिंग है जिसे मैंने कोड के दूसरे ब्लॉक में सशर्त कथन में रखा था।
कोड का पहला ब्लॉक काम करता है। दूसरा, जो सशर्त बयान जोड़ता है, नहीं करता है।
#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
#!/bin/bash
username=$USER
if [ username == "erik" ]; then
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
fi
सिंटेक्स चिंताओं:
$ उपयोगकर्ता (केस संवेदी)
अर्द्धविराम की पार्सिंग सही में ब्रैकेट बंद करने के बाद अगर बयान तो एक ही लाइन पर बयान
के रूप में अगर बयान
बहुत बढ़िया! यह पूरी तरह से काम करता है! धन्यवाद महोदय। – Glimpse