Hehehe, lagi-lagi lama gak nulis disini. Udah 5 bulan lebih beberapa hari gak nulis. Semoga mulai besok kesambet bisa rajin nulis disini. Aamiin. 😹

Kali ini pengen coba nulis soal upload otomatis ke AppStoreConnect setelah build Quasar. Kemarin nemuin cara ini secara gak sengaja karena kebetulan diminta tolong untuk handle mobile app yang harus dideliver ke playstore dan appstore. Nah, kemarin problemnya adalah archive ios lewat xcode di macbook saya itu makan waktu lama(maklumlah, macbook tua 😂). Dan, nanti masih ada proses pencet tombol upload yg harus dilakukan. Lha kalo pas nge-archive ini mau ditinggal-tinggal kan jadi kepikiran, “Archivenya udah selesai trus waktunya pencet tombol belom ya?”. Apalagi kalo ditinggal makan, tar balik-balik masih perlu pencet upload dan nunggu proses uploadnya.

Setelah curhat ke si “mbah” beberapa saat, akhirnya nemu beberapa link yang berisikan tentang command yg bisa digunakan untuk nge-archive si ios lalu menguploadnya ke app store connect secara langsung. Tanpa perlu ngeklik tombol upload lagi 😛. Setelah beberapa kali trial and error, hasilnya sukses upload ke app store connect. Berhubung udah dapet command buat archive, akhirnya dibikinin bash script sekalian aja deh. Biar sekali run bisa build si QuasarJS lalu archive sekaligus upload ke app store connect. Mayan lah, bisa ditinggal boker trus mandi deh.

Untuk commandnya bisa dicek di bawah ini :

1
2
3
4
5
6
7
8
# Build Quasar Projectnya
quasar build -m ios -d --skip-pkg

# Archive project Xcode
xcodebuild -workspace ./src-cordova/platforms/ios/NamaProjectKamu.xcworkspace -scheme NamaProjectKamu -sdk iphoneos -configuration AppStoreDistribution archive -archivePath ./ipa/NamaProjectKamu.xcarchive

# Upload ke App Store Connect
xcodebuild -exportArchive -archivePath ./ipa/NamaProjectKamu.xcarchive -exportOptionsPlist exportOptions.plist -exportPath ./ipa

Untuk isi exportOptions.plist bisa dicek di bawah ini:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?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>
<true/>
<key>destination</key>
<string>upload</string>
<key>method</key>
<string>app-store</string>
<key>teamID</key>
<string>TEAMIDKAMU</string>
</dict>
</plist>

Mungkin segitu dulu aja yang bisa saya share. Kali-kali aja bermanfaat buat kalian.