ಐಒಎಸ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುವ ಮತ್ತು ವಿತರಿಸುವ ವೈಶಿಷ್ಟ್ಯಗಳು

ಈ ಲೇಖನದಲ್ಲಿ, CI/CD ಡೀಬಗ್ ಮಾಡುವ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಪ್ಲ್ಯಾರಿಯಮ್ ಕ್ರಾಸ್ನೋಡರ್ ಸ್ಟುಡಿಯೋ ಸಂಗ್ರಹಿಸಿರುವ ಬಳಕೆದಾರರಿಗೆ iOS ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಜೋಡಿಸುವ ಮತ್ತು ವಿತರಿಸುವ ಅನುಭವವನ್ನು ನಾವು ಹಂಚಿಕೊಳ್ಳುತ್ತೇವೆ.

ಐಒಎಸ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುವ ಮತ್ತು ವಿತರಿಸುವ ವೈಶಿಷ್ಟ್ಯಗಳು

ತರಬೇತಿ

ಆಪಲ್ ಸಾಧನಗಳಿಗಾಗಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ಒಂದು ರೀತಿಯಲ್ಲಿ ಅಥವಾ ಇನ್ನೊಂದರಲ್ಲಿ ತೊಡಗಿಸಿಕೊಂಡಿರುವ ಪ್ರತಿಯೊಬ್ಬ ವ್ಯಕ್ತಿಯು ಈಗಾಗಲೇ ಮೂಲಸೌಕರ್ಯದ ವಿವಾದಾತ್ಮಕ ಅನುಕೂಲತೆಯನ್ನು ಮೆಚ್ಚಿದ್ದಾರೆ. ತೊಂದರೆಗಳು ಎಲ್ಲೆಡೆ ಕಂಡುಬರುತ್ತವೆ: ಡೆವಲಪರ್ ಪ್ರೊಫೈಲ್ ಮೆನುವಿನಿಂದ ಡೀಬಗ್ ಮತ್ತು ಬಿಲ್ಡ್ ಟೂಲ್‌ಗಳಿಗೆ.

ಇಂಟರ್ನೆಟ್ನಲ್ಲಿ "ಬೇಸಿಕ್ಸ್" ಬಗ್ಗೆ ಸಾಕಷ್ಟು ಲೇಖನಗಳಿವೆ, ಆದ್ದರಿಂದ ನಾವು ಮುಖ್ಯ ವಿಷಯವನ್ನು ಹೈಲೈಟ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸುತ್ತೇವೆ. ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನಿರ್ಮಿಸಲು ನಿಮಗೆ ಬೇಕಾಗಿರುವುದು ಇಲ್ಲಿದೆ:

  • ಡೆವಲಪರ್ ಖಾತೆ;
  • ನಿರ್ಮಾಣ ಸರ್ವರ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಮ್ಯಾಕೋಸ್ ಆಧಾರಿತ ಸಾಧನ;
  • ರಚಿಸಲಾಗಿದೆ ಡೆವಲಪರ್ ಪ್ರಮಾಣಪತ್ರ, ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಸಹಿ ಮಾಡಲು ಇದನ್ನು ಮತ್ತಷ್ಟು ಬಳಸಲಾಗುತ್ತದೆ;
  • ಅನನ್ಯದೊಂದಿಗೆ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ರಚಿಸಲಾಗಿದೆ ID (ಬಂಡಲ್ ಐಡೆಂಟಿಫೈಯರ್‌ನ ಪ್ರಾಮುಖ್ಯತೆಯನ್ನು ಗಮನಿಸಬೇಕು, ಏಕೆಂದರೆ ವೈಲ್ಡ್‌ಕಾರ್ಡ್ ಐಡಿ ಬಳಕೆಯು ಅಪ್ಲಿಕೇಶನ್‌ನ ಹಲವು ಕಾರ್ಯಗಳನ್ನು ಬಳಸಲು ಅಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ: ಅಸೋಸಿಯೇಟೆಡ್ ಡೊಮೇನ್‌ಗಳು, ಪುಶ್ ಅಧಿಸೂಚನೆಗಳು, ಆಪಲ್ ಸೈನ್ ಇನ್ ಮತ್ತು ಇತರರು);
  • ಪ್ರೊಫೈಲ್ ಅಪ್ಲಿಕೇಶನ್ ಸಹಿಗಳು.

ಯಾವುದೇ MacOS ಸಾಧನದಲ್ಲಿ ಕೀಚೈನ್ ಮೂಲಕ ಡೆವಲಪರ್ ಪ್ರಮಾಣಪತ್ರವನ್ನು ರಚಿಸಬೇಕು. ಪ್ರಮಾಣಪತ್ರದ ಪ್ರಕಾರವು ಬಹಳ ಮುಖ್ಯವಾಗಿದೆ. ಅಪ್ಲಿಕೇಶನ್ ಪರಿಸರವನ್ನು ಅವಲಂಬಿಸಿ (ಡೆವ್, ಕ್ಯೂಎ, ಸ್ಟೇಜಿಂಗ್, ಪ್ರೊಡಕ್ಷನ್) ಇದು ವಿಭಿನ್ನವಾಗಿರುತ್ತದೆ (ಅಭಿವೃದ್ಧಿ ಅಥವಾ ವಿತರಣೆ), ಹಾಗೆಯೇ ಅಪ್ಲಿಕೇಶನ್ ಸಹಿ ಪ್ರೊಫೈಲ್ ಪ್ರಕಾರ.

ಪ್ರೊಫೈಲ್ಗಳ ಮುಖ್ಯ ವಿಧಗಳು:

  • ಅಭಿವೃದ್ಧಿ - ಅಭಿವೃದ್ಧಿ ತಂಡದ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಸಹಿ ಮಾಡಲು ಉದ್ದೇಶಿಸಲಾಗಿದೆ, ಅಭಿವೃದ್ಧಿ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ (ಐಫೋನ್ ಡೆವಲಪರ್ ಪ್ರಕಾರದ ಹೆಸರು: XXX);
  • ಅಡ್ ಹಾಕ್ - ಪರೀಕ್ಷಾ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಸಹಿ ಮಾಡಲು ಮತ್ತು QA ಇಲಾಖೆಯಿಂದ ಆಂತರಿಕ ಪರಿಶೀಲನೆಗಾಗಿ ಉದ್ದೇಶಿಸಲಾಗಿದೆ, ಡೆವಲಪರ್‌ನ ವಿತರಣಾ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ (ಐಫೋನ್ ವಿತರಣೆ ಪ್ರಕಾರದ ಹೆಸರು: XXXX);
  • ಆಪ್ ಸ್ಟೋರ್ - ಟೆಸ್ಟ್‌ಫ್ಲೈಟ್ ಮೂಲಕ ಬಾಹ್ಯ ಪರೀಕ್ಷೆಗಾಗಿ ಬಿಡುಗಡೆ ಬಿಲ್ಡ್ ಮತ್ತು ಆಪ್ ಸ್ಟೋರ್‌ಗೆ ಅಪ್‌ಲೋಡ್ ಮಾಡುವುದು, ಡೆವಲಪರ್‌ನ ವಿತರಣಾ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.

ಅಭಿವೃದ್ಧಿ ಮತ್ತು ತಾತ್ಕಾಲಿಕ ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ರಚಿಸುವಾಗ, ಅದನ್ನು ಸಹ ಸೂಚಿಸಲಾಗುತ್ತದೆ ಸಾಧನ ಪಟ್ಟಿ, ಅದರ ಮೇಲೆ ನೀವು ಬಿಲ್ಡ್ ಅನ್ನು ಸ್ಥಾಪಿಸಬಹುದು, ಇದು ಬಳಕೆದಾರರಿಗೆ ಪ್ರವೇಶವನ್ನು ಮತ್ತಷ್ಟು ನಿರ್ಬಂಧಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಆಪ್ ಸ್ಟೋರ್ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿ ಯಾವುದೇ ಸಾಧನಗಳ ಪಟ್ಟಿ ಇಲ್ಲ, ಏಕೆಂದರೆ ಮುಚ್ಚಿದ ಬೀಟಾ ಪರೀಕ್ಷೆಯ ಸಮಯದಲ್ಲಿ ಪ್ರವೇಶ ನಿಯಂತ್ರಣವನ್ನು TestFlight ನಿರ್ವಹಿಸುತ್ತದೆ, ಅದನ್ನು ನಂತರ ಚರ್ಚಿಸಲಾಗುವುದು.

ಸ್ಪಷ್ಟತೆಗಾಗಿ, ನೀವು ಡೆವಲಪರ್ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಕೆಳಗಿನ ಕೋಷ್ಟಕದ ರೂಪದಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸಬಹುದು. ಜೋಡಣೆಗಾಗಿ ನಮಗೆ ಯಾವ ನಿಯತಾಂಕಗಳು ಬೇಕು ಮತ್ತು ಅವುಗಳನ್ನು ಎಲ್ಲಿಂದ ಪಡೆಯಬೇಕು ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಇದು ಸುಲಭವಾಗುತ್ತದೆ.

ಐಒಎಸ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುವ ಮತ್ತು ವಿತರಿಸುವ ವೈಶಿಷ್ಟ್ಯಗಳು

ಅಸೆಂಬ್ಲಿ

ಯೋಜನೆ ಮತ್ತು ಪರಿಸರದ ಮೂಲಕ ಅಸೆಂಬ್ಲಿಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ಸುಲಭವಾಗುವಂತೆ, ನಾವು ಪ್ರೊಫೈಲ್ ಹೆಸರುಗಳನ್ನು ಬಳಸುತ್ತೇವೆ ${ProjectName}_${Instance}, ಅಂದರೆ, ಯೋಜನೆಯ ಹೆಸರು + ನಿದರ್ಶನ (ಅಪ್ಲಿಕೇಶನ್ ಪರಿಸರವನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ: ದೇವ್, ಕ್ಯೂಎ, ಜಿಡಿ, ಸ್ಟೇಜಿಂಗ್, ಲೈವ್, ಇತ್ಯಾದಿ).

ಬಿಲ್ಡ್ ಸರ್ವರ್‌ಗೆ ಆಮದು ಮಾಡಿಕೊಂಡಾಗ, ಪ್ರೊಫೈಲ್ ತನ್ನ ಹೆಸರನ್ನು ಅನನ್ಯ ID ಗೆ ಬದಲಾಯಿಸುತ್ತದೆ ಮತ್ತು ಫೋಲ್ಡರ್‌ಗೆ ಸರಿಸಲಾಗುತ್ತದೆ /Users/$Username/Library/MobileDevice/Provisioning Profiles (ಎಲ್ಲಿ $Username ಬಿಲ್ಡ್ ಸರ್ವರ್‌ನ ಬಳಕೆದಾರ ಖಾತೆಯ ಹೆಸರಿಗೆ ಅನುರೂಪವಾಗಿದೆ).

*.ipa ಫೈಲ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಎರಡು ಮಾರ್ಗಗಳಿವೆ - ಪರಂಪರೆ (PackageApplication) ಮತ್ತು ಆಧುನಿಕ (XcAchive ರಚನೆ ಮತ್ತು ರಫ್ತು ಮೂಲಕ). ಆವೃತ್ತಿ 8.3 ರಿಂದ ಅಪ್ಲಿಕೇಶನ್ ಫೈಲ್ ಪ್ಯಾಕೇಜಿಂಗ್ ಮಾಡ್ಯೂಲ್ ಅನ್ನು Xcode ವಿತರಣೆಯಿಂದ ತೆಗೆದುಹಾಕಲಾಗಿರುವುದರಿಂದ ಮೊದಲ ವಿಧಾನವನ್ನು ಬಳಕೆಯಲ್ಲಿಲ್ಲವೆಂದು ಪರಿಗಣಿಸಲಾಗಿದೆ. ಇದನ್ನು ಬಳಸಲು, ನೀವು ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಹಳೆಯ Xcode ನಿಂದ (ಆವೃತ್ತಿ 8.2 ಮತ್ತು ಹಿಂದಿನ) ಫೋಲ್ಡರ್‌ಗೆ ನಕಲಿಸಬೇಕಾಗುತ್ತದೆ:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/

ತದನಂತರ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ:

chmod +x /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/*

ಮುಂದೆ ನೀವು ಅಪ್ಲಿಕೇಶನ್‌ನ *.app ಫೈಲ್ ಅನ್ನು ಸಂಗ್ರಹಿಸಬೇಕು:

xcodebuild 
-workspace $ProjectDir/$ProjectName.xcworkspace 
-scheme $SchemeName 
-sdk iphoneos 
build 
-configuration Release 
-derivedDataPath build 
CODE_SIGN_IDENTITY=”$DevAccName”
PROVISIONING_PROFILE=”$ProfileId”
DEPLOYMENT_POSTPROCESSING=YES 
SKIP_INSTALL=YES 
ENABLE_BITCODE=NO

ಎಲ್ಲಿ:

-workspace - ಪ್ರಾಜೆಕ್ಟ್ ಫೈಲ್‌ಗೆ ಮಾರ್ಗ.

-scheme - ಬಳಸಿದ ಯೋಜನೆ, ಯೋಜನೆಯಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ.

-derivedDataPath — ಜೋಡಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಮಾರ್ಗ (*.app).

CODE_SIGN_IDENTITY - ಡೆವಲಪರ್ ಖಾತೆಯ ಹೆಸರು, ಇದನ್ನು ಕೀಚೈನ್‌ನಲ್ಲಿ ಪರಿಶೀಲಿಸಬಹುದು (ಐಫೋನ್ ಡೆವಲಪರ್: XXXX XXXXXXX, ಬ್ರಾಕೆಟ್‌ಗಳಲ್ಲಿ TeamID ಇಲ್ಲದೆ).

ಐಒಎಸ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುವ ಮತ್ತು ವಿತರಿಸುವ ವೈಶಿಷ್ಟ್ಯಗಳು

PROVISIONING_PROFILE — ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಸಹಿ ಮಾಡಲು ಪ್ರೊಫೈಲ್ ಐಡಿ, ಇದನ್ನು ಆಜ್ಞೆಯೊಂದಿಗೆ ಪಡೆಯಬಹುದು:

cd "/Users/$Username/Library/MobileDevice/Provisioning Profiles/" && find *.mobileprovision -type f | xargs grep -li ">${ProjectName}_${Instance}<" | sed -e 's/.mobileprovision//'

ಅಪ್ಲಿಕೇಶನ್ ಹೆಚ್ಚುವರಿ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಬಳಸಿದರೆ (ಉದಾಹರಣೆಗೆ, ಪುಶ್ ಅಧಿಸೂಚನೆಗಳಿಗಾಗಿ), ನಂತರ ಬದಲಿಗೆ PROVISIONING_PROFILE ಸೂಚಿಸಿ:

APP_PROFILE=”$AppProfile” 
EXTENSION_PROFILE=”$ExtProfile” 

ಮುಂದೆ, ಪರಿಣಾಮವಾಗಿ *.app ಫೈಲ್ ಅನ್ನು *.ipa ಗೆ ಪ್ಯಾಕ್ ಮಾಡಬೇಕು. ಇದನ್ನು ಮಾಡಲು, ನೀವು ಈ ರೀತಿಯ ಆಜ್ಞೆಯನ್ನು ಬಳಸಬಹುದು:

/usr/bin/xcrun --sdk iphoneos PackageApplication 
-v $(find "$ProjectDir/build/Build/Products/Release-iphoneos" -name "*.app") 
-o "$ProjectDir/$ProjectName_$Instance.ipa"

ಆದಾಗ್ಯೂ, ಆಪಲ್ನ ದೃಷ್ಟಿಕೋನದಿಂದ ಈ ವಿಧಾನವನ್ನು ಬಳಕೆಯಲ್ಲಿಲ್ಲವೆಂದು ಪರಿಗಣಿಸಲಾಗಿದೆ. ಅಪ್ಲಿಕೇಶನ್ ಆರ್ಕೈವ್‌ನಿಂದ ರಫ್ತು ಮಾಡುವ ಮೂಲಕ *.ipa ಅನ್ನು ಪಡೆಯುವುದು ಸೂಕ್ತವಾಗಿದೆ.

ಮೊದಲು ನೀವು ಆಜ್ಞೆಯೊಂದಿಗೆ ಆರ್ಕೈವ್ ಅನ್ನು ಸಂಗ್ರಹಿಸಬೇಕು:

xcodebuild 
-workspace $ProjectDir/$ProjectName.xcworkspace 
-scheme $SchemeName 
-sdk iphoneos 
-configuration Release 
archive 
-archivePath $ProjectDir/build/$ProjectName.xcarchive 
CODE_SIGN_IDENTITY=”$DevAccName” 
PROVISIONING_PROFILE=”$ProfileId”
ENABLE_BITCODE=NO 
SYNCHRONOUS_SYMBOL_PROCESSING=FALSE

ಅಸೆಂಬ್ಲಿ ವಿಧಾನ ಮತ್ತು ಆಯ್ಕೆಗಳಲ್ಲಿ ವ್ಯತ್ಯಾಸಗಳಿವೆ SYNCHRONOUS_SYMBOL_PROCESSING, ಇದು ಬಿಲ್ಡ್ ಸಮಯದಲ್ಲಿ ಚಿಹ್ನೆ ಇಳಿಸುವಿಕೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ.

ಮುಂದೆ ನಾವು ರಫ್ತು ಸೆಟ್ಟಿಂಗ್‌ಗಳೊಂದಿಗೆ ಫೈಲ್ ಅನ್ನು ರಚಿಸಬೇಕಾಗಿದೆ:

ExportSettings="$ProjectDir/exportOptions.plist"

cat << EOF > $ExportSettings
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>compileBitcode</key>
<false/>
<key>uploadBitcode</key>
<false/>
<key>uploadSymbols</key>
<false/>
<key>method</key>
<string>$Method</string>
<key>provisioningProfiles</key>
<dict>
<key>$BundleID</key>
<string>$ProfileId</string>
</dict>
<key>signingCertificate</key>
<string>$DevAccName</string>
<key>signingStyle</key>
<string>manual</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>$TeamID</string>
<key>thinning</key>
<string><none></string>
</dict>
</plist>
EOF

ಎಲ್ಲಿ:

$Method — ವಿತರಣಾ ವಿಧಾನ, ಅಪ್ಲಿಕೇಶನ್ ಸಹಿ ಪ್ರೊಫೈಲ್ ಪ್ರಕಾರಕ್ಕೆ ಅನುರೂಪವಾಗಿದೆ, ಅಂದರೆ ಅಭಿವೃದ್ಧಿಗೆ ಮೌಲ್ಯವು ಅಭಿವೃದ್ಧಿಯಾಗಿರುತ್ತದೆ, ಅಡ್ ಹಾಕ್ - ಅಡ್-ಹಾಕ್, ಮತ್ತು ಆಪ್ ಸ್ಟೋರ್ - ಆಪ್-ಸ್ಟೋರ್.

$BundleID — ಅಪ್ಲಿಕೇಶನ್ ID, ಇದು ಅಪ್ಲಿಕೇಶನ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ. ನೀವು ಆಜ್ಞೆಯೊಂದಿಗೆ ಪರಿಶೀಲಿಸಬಹುದು:

defaults read $ProjectDir/Info CFBundleIdentifier

$DevAccName и $ProfileId - ಡೆವಲಪರ್ ಹೆಸರು ಮತ್ತು ಸಿಗ್ನೇಚರ್ ಪ್ರೊಫೈಲ್ ಐಡಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಹಿಂದೆ ಬಳಸಲಾಗಿದೆ ಮತ್ತು ರಫ್ತು ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿನ ಮೌಲ್ಯಗಳಿಗೆ ಹೊಂದಿಕೆಯಾಗಬೇಕು.

$TeamID - ಡೆವಲಪರ್‌ನ ಹೆಸರಿನ ನಂತರ ಬ್ರಾಕೆಟ್‌ಗಳಲ್ಲಿ ಹತ್ತು-ಅಂಕಿಯ ID, ಉದಾಹರಣೆಗೆ: iPhone ಡೆವಲಪರ್: …… (XXXXXXXXXX); ಕೀಚೈನ್‌ನಲ್ಲಿ ಪರಿಶೀಲಿಸಬಹುದು.

ಮುಂದೆ, ರಫ್ತು ಆಜ್ಞೆಯನ್ನು ಬಳಸಿ, ನಾವು ಅಗತ್ಯ *.ipa ಫೈಲ್ ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ:

xcodebuild 
-exportArchive 
-archivePath $ProjectDir/build/$ProjectName.xcarchive 
-exportPath $ProjectDir 
-exportOptionsPlist $ExportSettings

ಶಿಪ್ಪಿಂಗ್ ಮಾಹಿತಿ

ಈಗ ಸಂಗ್ರಹಿಸಿದ ಫೈಲ್ ಅನ್ನು ಅಂತಿಮ ಬಳಕೆದಾರರಿಗೆ ತಲುಪಿಸಬೇಕಾಗಿದೆ, ಅಂದರೆ, ಸಾಧನದಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾಗಿದೆ.

HockeyApp, AppBlade ಮತ್ತು ಇತರವುಗಳಂತಹ ಅಭಿವೃದ್ಧಿ ಮತ್ತು ತಾತ್ಕಾಲಿಕ ನಿರ್ಮಾಣಗಳನ್ನು ವಿತರಿಸಲು ಹಲವು ಸೇವೆಗಳಿವೆ, ಆದರೆ ಈ ಲೇಖನದಲ್ಲಿ ನಾವು ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ವಿತರಿಸಲು ಸ್ವತಂತ್ರ ಸರ್ವರ್ ಕುರಿತು ಮಾತನಾಡುತ್ತೇವೆ.

iOS ಗಾಗಿ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವುದು 2 ಹಂತಗಳಲ್ಲಿ ನಡೆಯುತ್ತದೆ:

  1. ಐಟಂಗಳ ಸೇವೆಯ ಮೂಲಕ ಅಪ್ಲಿಕೇಶನ್ ಸ್ಥಾಪನೆ ಮ್ಯಾನಿಫೆಸ್ಟ್ ಅನ್ನು ಸ್ವೀಕರಿಸಲಾಗುತ್ತಿದೆ.
  2. HTTPS ಮೂಲಕ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಮಾಹಿತಿಯ ಪ್ರಕಾರ *.ipa ಫೈಲ್‌ನ ಸ್ಥಾಪನೆ.

ಹೀಗಾಗಿ, ನಾವು ಮೊದಲು ಆಜ್ಞೆಯೊಂದಿಗೆ ಅನುಸ್ಥಾಪನ ಮ್ಯಾನಿಫೆಸ್ಟ್ (ಫೈಲ್ ಪ್ರಕಾರ *.plist) ಅನ್ನು ರಚಿಸಬೇಕಾಗಿದೆ:

cat << EOF > $manifest
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>$ipaUrl</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>$BundleID</string>
<key>bundle-version</key>
<string>$AppVersion</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>$ProjectName_$Instance</string>
<key>subtitle</key>
<string>$Instance</string>
</dict>
</dict>
</array>
</dict>
</plist>
EOF

ನೀವು ನೋಡುವಂತೆ, ಮ್ಯಾನಿಫೆಸ್ಟ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿರ್ಮಿಸುವಲ್ಲಿ ಒಳಗೊಂಡಿರುವ ಬಹುತೇಕ ಎಲ್ಲಾ ನಿಯತಾಂಕಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

ಅಪ್ಲಿಕೇಶನ್ ಆವೃತ್ತಿ ($AppVersion) ಆಜ್ಞೆಯೊಂದಿಗೆ ಪರಿಶೀಲಿಸಬಹುದು:

defaults read $ProjectDir/Info CFBundleVersion

ನಿಯತಾಂಕ $ipaUrl *.ipa ಫೈಲ್ ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ನೇರ ಲಿಂಕ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ. iOS ನ ಏಳನೇ ಆವೃತ್ತಿಯಿಂದ, ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು HTTPS ಮೂಲಕ ಸ್ಥಾಪಿಸಬೇಕು. ಎಂಟನೇ ಆವೃತ್ತಿಯಲ್ಲಿ, ಮ್ಯಾನಿಫೆಸ್ಟ್‌ನ ಸ್ವರೂಪವು ಸ್ವಲ್ಪ ಬದಲಾಗಿದೆ: ಅಪ್ಲಿಕೇಶನ್ ಐಕಾನ್‌ಗಳಿಗಾಗಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳೊಂದಿಗೆ ಬ್ಲಾಕ್‌ಗಳು

<images>
   <image>...</image>
</images>

ಹೀಗಾಗಿ, ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲು, ಈ ರೀತಿಯ ಲಿಂಕ್ ಹೊಂದಿರುವ ಸರಳ HTML ಪುಟ ಸಾಕು:

itms-services://?action=download-manifest&url=https://$ServerUrl/$ProjectName/$Instance/iOS/$AppVersion/manifest.plist

ಅಭಿವೃದ್ಧಿ ಮತ್ತು ಪರೀಕ್ಷಾ ಇಲಾಖೆಗಳ ಅಗತ್ಯಗಳಿಗಾಗಿ, ಪ್ಲಾರಿಯಮ್ ತನ್ನದೇ ಆದ ನಿರ್ಮಾಣ ಸ್ಥಾಪನೆ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ರಚಿಸಿದೆ, ಅದು ನಮಗೆ ನೀಡುತ್ತದೆ:

  • ಸ್ವಾಯತ್ತತೆ ಮತ್ತು ಸ್ವಾತಂತ್ರ್ಯ,
  • ಪ್ರವೇಶ ನಿಯಂತ್ರಣದ ಕೇಂದ್ರೀಕರಣ ಮತ್ತು "ತಾತ್ಕಾಲಿಕ" ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ರಚಿಸಲಾದ ಲಿಂಕ್‌ಗಳ ಮೂಲಕ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಸುರಕ್ಷಿತ ಸ್ಥಾಪನೆ,
  • ವಿಸ್ತರಿಸಬಹುದಾದ ಕಾರ್ಯನಿರ್ವಹಣೆ (ಅಂದರೆ, ಅಭಿವೃದ್ಧಿ ತಂಡ, ಅಗತ್ಯವಿದ್ದಲ್ಲಿ, ಕಾಣೆಯಾದ ಕಾರ್ಯಗಳನ್ನು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಸಂಯೋಜಿಸಬಹುದು).

ಪರೀಕ್ಷೆ

ಈಗ ನಾವು ಬಳಸುವ ಅಪ್ಲಿಕೇಶನ್‌ನ ಪೂರ್ವ-ಬಿಡುಗಡೆ ಪರೀಕ್ಷೆಯ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತೇವೆ ಟೆಸ್ಟ್ಫೈಟ್.

ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಅಗತ್ಯವಿರುವ ಷರತ್ತುಗಳು ಆಪ್ ಸ್ಟೋರ್ ಸಿಗ್ನೇಚರ್ ಪ್ರೊಫೈಲ್‌ನ ಪ್ರಕಾರ ಮತ್ತು ರಚಿಸಲಾದ API ಕೀಗಳ ಉಪಸ್ಥಿತಿಯಾಗಿದೆ.

ಅಪ್ಲಿಕೇಶನ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಹಲವಾರು ಮಾರ್ಗಗಳಿವೆ:

  • Xcode ಮೂಲಕ (ಸಂಘಟಕರು),
  • ಆಲ್ಟೂಲ್ ಮೂಲಕ,
  • Xcode ನ ಹಳೆಯ ಆವೃತ್ತಿಗಳಿಗೆ ಅಪ್ಲಿಕೇಶನ್ ಲೋಡರ್ ಮೂಲಕ (ಈಗ ಟ್ರಾನ್ಸ್‌ಪೋರ್ಟರ್).

ಸ್ವಯಂಚಾಲಿತ ಡೌನ್‌ಲೋಡ್‌ಗಾಗಿ, ಆಲ್ಟೂಲ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಇದು ಎರಡು ಅಧಿಕಾರ ವಿಧಾನಗಳನ್ನು ಸಹ ಹೊಂದಿದೆ:

  • ಅಪ್ಲಿಕೇಶನ್-ನಿರ್ದಿಷ್ಟ ಪಾಸ್‌ವರ್ಡ್,
  • API ಕೀ.

API ಕೀ ಬಳಸಿ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡುವುದು ಉತ್ತಮ.

API ಕೀಯನ್ನು ಪಡೆಯಲು, ಇಲ್ಲಿಗೆ ಹೋಗಿ ಲಿಂಕ್ ಮತ್ತು ಕೀಲಿಯನ್ನು ರಚಿಸಿ. *.p8 ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿರುವ ಕೀ ಜೊತೆಗೆ, ನಮಗೆ ಎರಡು ಪ್ಯಾರಾಮೀಟರ್‌ಗಳು ಬೇಕಾಗುತ್ತವೆ: IssuerID ಮತ್ತು KeyID.

ಐಒಎಸ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುವ ಮತ್ತು ವಿತರಿಸುವ ವೈಶಿಷ್ಟ್ಯಗಳು

ಮುಂದೆ, ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ ಕೀಲಿಯನ್ನು ಬಿಲ್ಡ್ ಸರ್ವರ್‌ಗೆ ಆಮದು ಮಾಡಿ:

mkdir -p ~/.appstoreconnect/private_keys
mv ~/Downloads/AuthKey_${KeyID}.p8 ~/.appstoreconnect/private_keys/

ಟೆಸ್ಟ್‌ಫ್ಲೈಟ್‌ಗೆ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡುವ ಮೊದಲು, ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಮೌಲ್ಯೀಕರಿಸುವ ಅಗತ್ಯವಿದೆ, ನಾವು ಇದನ್ನು ಆಜ್ಞೆಯೊಂದಿಗೆ ಮಾಡುತ್ತೇವೆ:

xcrun altool 
--validate-app 
-t ios 
-f $(find "$ProjectDir" -name "*.ipa") 
--apiKey “$KeyID” 
--apiIssuer “$IssuerID” 

ಎಲ್ಲಿ apiKey и apiIssuer API ಕೀ ಪೀಳಿಗೆಯ ಪುಟದಿಂದ ಕ್ಷೇತ್ರ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿರಿ.

ಮುಂದೆ, ಯಶಸ್ವಿ ಮೌಲ್ಯಮಾಪನದ ನಂತರ, ನಾವು ಆಜ್ಞೆಯೊಂದಿಗೆ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಲೋಡ್ ಮಾಡುತ್ತೇವೆ --upload-app ಅದೇ ನಿಯತಾಂಕಗಳೊಂದಿಗೆ.

ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಆಪಲ್ ಒಂದು ಅಥವಾ ಎರಡು ದಿನಗಳಲ್ಲಿ ಪರೀಕ್ಷಿಸುತ್ತದೆ ಮತ್ತು ನಂತರ ಬಾಹ್ಯ ಪರೀಕ್ಷಕರಿಗೆ ಲಭ್ಯವಾಗುತ್ತದೆ: ಅವುಗಳನ್ನು ಸ್ಥಾಪಿಸಲು ಇಮೇಲ್ ಲಿಂಕ್‌ಗಳನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತದೆ.

ಆಲ್ಟೂಲ್ ಮೂಲಕ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡುವ ಇನ್ನೊಂದು ವಿಧಾನವೆಂದರೆ ಅಪ್ಲಿಕೇಶನ್-ನಿರ್ದಿಷ್ಟ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಬಳಸುವುದು.

ಅಪ್ಲಿಕೇಶನ್-ನಿರ್ದಿಷ್ಟ ಪಾಸ್‌ವರ್ಡ್ ಪಡೆಯಲು ನೀವು ಹೋಗಬೇಕಾಗುತ್ತದೆ ಲಿಂಕ್ ಮತ್ತು ಅದನ್ನು ಭದ್ರತಾ ವಿಭಾಗದಲ್ಲಿ ರಚಿಸಿ.

ಐಒಎಸ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುವ ಮತ್ತು ವಿತರಿಸುವ ವೈಶಿಷ್ಟ್ಯಗಳು

ಮುಂದೆ, ನೀವು ಈ ಪಾಸ್‌ವರ್ಡ್‌ನೊಂದಿಗೆ ಕೀಚೈನ್‌ನಲ್ಲಿ ಬಿಲ್ಡ್ ಸರ್ವರ್ ದಾಖಲೆಯನ್ನು ರಚಿಸಬೇಕು. Xcode ಆವೃತ್ತಿ 11 ರಿಂದ ಇದನ್ನು ಆಜ್ಞೆಯೊಂದಿಗೆ ಮಾಡಬಹುದು:

xcrun altool --store-password-in-keychain-item "Altool" -u "$DeveloperName" -p $AppPswd

ಎಲ್ಲಿ:

$DeveloperName — Apple ಸೇವೆಗಳಿಗೆ ಲಾಗ್ ಇನ್ ಮಾಡಲು ಬಳಸುವ iOS ಡೆವಲಪರ್ ಖಾತೆಯ ಹೆಸರು.

$AppPswd - ರಚಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್-ನಿರ್ದಿಷ್ಟ ಪಾಸ್‌ವರ್ಡ್.

ಮುಂದೆ, ನಾವು asc-provider ನಿಯತಾಂಕದ ಮೌಲ್ಯವನ್ನು ಪಡೆಯುತ್ತೇವೆ ಮತ್ತು ಆಜ್ಞೆಯೊಂದಿಗೆ ಪಾಸ್ವರ್ಡ್ ಆಮದಿನ ಯಶಸ್ಸನ್ನು ಪರಿಶೀಲಿಸಿ:

xcrun altool --list-providers -u "$DeveloperName" -p "@keychain:Altool"

ನಾವು ಔಟ್ಪುಟ್ ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ:

Provider listing:
- Long Name - - Short Name -
XXXXXXX        XXXXXXXXX

ನೀವು ನೋಡುವಂತೆ, ಅಗತ್ಯವಿರುವ ಶಾರ್ಟ್ ನೇಮ್ ಮೌಲ್ಯವು (asc-provider) ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿರ್ಮಿಸುವಾಗ ನಾವು ಬಳಸಿದ $TeamID ಪ್ಯಾರಾಮೀಟರ್‌ನೊಂದಿಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ.

ಟೆಸ್ಟ್‌ಫ್ಲೈಟ್‌ಗೆ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಮೌಲ್ಯೀಕರಿಸಲು ಮತ್ತು ಲೋಡ್ ಮಾಡಲು, ಆಜ್ಞೆಯನ್ನು ಬಳಸಿ:

xcrun altool 
--(validate|upload)-app   
-f $(find "$ProjectDir" -name "*.ipa") 
-u "$DeveloperName" 
-p "@keychain:Altool" 

ಪ್ಯಾರಾಮೀಟರ್ ಮೌಲ್ಯವಾಗಿ -p ನೀವು ಮೌಲ್ಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು $AppPswd ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡದ (ಸ್ಪಷ್ಟ) ರೂಪದಲ್ಲಿ.

ಆದಾಗ್ಯೂ, ಈಗಾಗಲೇ ಹೇಳಿದಂತೆ, ಕಾರ್ಯಕ್ಷಮತೆಯ ದೃಷ್ಟಿಕೋನದಿಂದ, ಆಲ್ಟೂಲ್ ದೃಢೀಕರಣಕ್ಕಾಗಿ API ಕೀ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದು ಉತ್ತಮ, ಏಕೆಂದರೆ Xcode ನ ವಿವಿಧ ಆವೃತ್ತಿಗಳು ಕೆಲವು ಸಮಸ್ಯೆಗಳನ್ನು ಹೊಂದಿವೆ ("ನೋಡುವುದಿಲ್ಲ" ಕೀಚೈನ್, ಅಪ್ಲೋಡ್ ಸಮಯದಲ್ಲಿ ದೃಢೀಕರಣ ದೋಷಗಳು, ಇತ್ಯಾದಿ).

ವಾಸ್ತವವಾಗಿ, ಅಷ್ಟೆ. ಆಪ್ ಸ್ಟೋರ್‌ನಲ್ಲಿ ಯಶಸ್ವಿ ನಿರ್ಮಾಣಗಳು ಮತ್ತು ತೊಂದರೆ-ಮುಕ್ತ ಬಿಡುಗಡೆಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಪ್ರತಿಯೊಬ್ಬರೂ ನಾನು ಬಯಸುತ್ತೇನೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ