Baca dalam bahasa Inggris

Bagikan melalui


Membangun aplikasi Objective-C atau Swift untuk iOS

Penting

Visual Studio App Center dijadwalkan untuk dihentikan pada 31 Maret 2025. Meskipun Anda dapat terus menggunakan Visual Studio App Center hingga sepenuhnya dihentikan, ada beberapa alternatif yang direkomendasikan yang dapat Anda pertimbangkan untuk bermigrasi.

Pelajari selengkapnya tentang garis waktu dukungan dan alternatif.

Untuk membuat aplikasi iOS asli pertama, Anda harus mengambil tindakan berikut:

  1. Menyambungkan ke akun layanan repositori Anda (GitHub, Bitbucket, VSTS, Azure DevOps)
  2. Pilih repositori dan cabang tempat aplikasi Anda berada
  3. Konfigurasikan proyek atau ruang kerja build, dan skema yang ingin Anda bangun

Catatan

Untuk menjalankan aplikasi pada perangkat nyata, build harus ditandatangani kode dengan profil provisi yang valid dan sertifikat.

1. Menautkan repositori Anda

Jika sebelumnya Anda belum tersambung ke akun layanan repositori, Anda harus mengotorisasi koneksi. Setelah akun Anda tersambung, pilih repositori tempat proyek iOS Anda berada. App Center mengharuskan akun Anda memiliki izin Admin dan Pull untuk menyiapkan build untuk repositori.

2. Memilih cabang

Setelah memilih repositori, pilih cabang yang ingin Anda bangun. Secara default, semua cabang aktif akan dicantumkan.

3. Menyiapkan build pertama Anda

Konfigurasikan proyek iOS Anda sebelum build pertama Anda.

3.1 Proyek/ruang kerja dan skema

Untuk konfigurasi build, proyek Xcode atau ruang kerja Xcode, dan skema bersama diperlukan. App Center secara otomatis mendeteksi proyek, ruang kerja, dan skema bersama (selama skema berada di folder yang benar) di cabang Anda. Pilih proyek atau ruang kerja yang ingin Anda bangun dan skema yang sesuai.

Jika tidak ada skema yang ditemukan, pastikan skema yang Anda inginkan dibagikan dan kontainernya adalah proyek atau ruang kerja yang Anda pilih. Anda juga harus mengonfirmasi bahwa perubahan tersebut diperiksa ke cabang yang Anda konfigurasi.

Perlu diingat bahwa Anda tidak dapat mengekspor .xcscheme file dan menempatkannya di mana saja dalam proyek. Ini harus ada di xcshareddata/xcschemes/ folder . Pastikan jalur ini tidak ada dalam file Anda .gitignore .

Menandai skema sebagai berbagi

3.2. Versi Xcode

Pilih versi Xcode untuk menjalankan build.

3.3. Membangun pemicu

Secara default, build baru dipicu setiap kali pengembang mendorong ke cabang yang dikonfigurasi. Proses ini disebut sebagai "Integrasi Berkelanjutan". Jika Anda lebih suka memicu build baru secara manual, Anda dapat mengubah pengaturan ini dalam konfigurasi build.

3.4. Nomor build kenaikan

Saat diaktifkan, CFBundleVersion di Info.plist aplikasi Anda secara otomatis meningkat untuk setiap build. Perubahan terjadi pra-build dan tidak akan diterapkan pada repositori Anda.

Catatan

Untuk membuat nomor build Increment berfungsi, beri nama .plist file seperti *Info.plistProduction-Info.plist.

3.5. Pengujian

Jika skema yang dipilih memiliki tindakan pengujian dengan target pengujian yang dipilih, Anda dapat mengonfigurasi pengujian untuk dijalankan sebagai bagian dari setiap build. App Center saat ini dapat menjalankan pengujian unit XCTest.

3.6. Penandatanganan kode

Membangun aplikasi iOS untuk perangkat nyata memerlukan penandatanganan dengan kredensial yang valid. Untuk menandatangani build di App Center, aktifkan penandatanganan kode di panel konfigurasi dan unggah profil provisi (.mobileprovision) dan sertifikat yang valid (.p12), bersama dengan kata sandi untuk sertifikat.

Pengaturan dalam proyek Xcode Anda harus kompatibel dengan file yang Anda unggah. Anda dapat membaca selengkapnya tentang penandatanganan kode di dokumentasi resmi Apple Developer.

Aplikasi dengan ekstensi aplikasi atau watchOS memerlukan profil provisi tambahan per ekstensi untuk ditandatangani.

3.7. Luncurkan build sukses Anda pada perangkat nyata

Gunakan file yang baru diproduksi .ipa untuk menguji apakah aplikasi Anda dimulai di perangkat nyata. Peluncuran pada perangkat nyata akan menambahkan sekitar 10 menit lagi ke total waktu build. Baca selengkapnya tentang cara mengonfigurasi pengujian peluncuran.

3.8. CocoaPods

App Center memindai cabang yang dipilih dan jika menemukan Podfile, App Center akan secara otomatis melakukan pod install langkah di awal setiap build. Langkah ini akan memastikan bahwa semua dependensi diinstal.

Peringatan

Jika repositori sudah berisi folder /Pods , App Center mengasumsikan Anda telah memeriksa pod di repositori Anda dan tidak akan lagi melakukan pod install. Jika Anda menghapus atau memodifikasi folder /Pod , Anda mungkin harus menyimpan ulang konfigurasi Build secara manual menggunakan Save atau Save and Build agar pembaruan diterapkan.

3.9. Mendistribusikan ke grup distribusi

Anda dapat mengonfigurasi setiap build yang berhasil dari cabang untuk didistribusikan ke grup distribusi yang dibuat sebelumnya. Anda dapat menambahkan grup distribusi baru dari dalam bagian Distribusikan. Selalu ada grup distribusi default yang disebut "Kolaborator" yang mencakup semua pengguna yang memiliki akses ke aplikasi.

Setelah Anda menyimpan konfigurasi, build baru akan dimulai secara otomatis.

4. Hasil build

Setelah build dipicu, build dapat berada di status berikut:

  • antrean - build diantrekan menunggu sumber daya dibebaskan.
  • building - build menjalankan tugas yang telah ditentukan sebelumnya.
  • berhasil - build selesai dan berhasil.
  • gagal - build selesai tetapi gagal. Anda dapat memecahkan masalah apa yang salah dengan memeriksa log build.
  • dibatalkan - build dibatalkan oleh tindakan pengguna atau waktunya habis

4.1. Log build

Untuk build yang telah selesai (berhasil atau gagal), unduh log untuk memahami lebih lanjut tentang cara build berjalan. App Center menyediakan arsip dengan file berikut:

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1> (e.g. 2_Get Sources.txt)
    |-- <build-step-2> (e.g. 3_Pod install.txt)
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

Log khusus langkah build (terletak di build/ direktori arsip) sangat membantu untuk pemecahan masalah dan pemahaman dalam langkah apa dan mengapa build gagal.

4.2. Aplikasi (.ipa)

File .ipa adalah file arsip aplikasi perangkat iOS yang berisi aplikasi iOS.

  • Build yang tidak ditandatangani tidak akan menghasilkan .ipa file. Artefak build yang tidak ditandatangani adalah .xcarchive file yang dapat digunakan untuk menghasilkan .ipa file dengan penyelenggara Arsip Xcode.
  • Jika build ditandatangani dengan benar, .ipa file dapat diinstal pada perangkat nyata yang sesuai dengan profil provisi yang digunakan saat menandatangani. Detail selengkapnya tentang penandatanganan dan distribusi kode dengan App Center dapat ditemukan di dokumentasi penandatanganan kode iOS App Center.
  • Jika build belum ditandatangani, .ipa file dapat ditandatangani oleh pengembang (misalnya, secara lokal menggunakan codesign) atau digunakan untuk tujuan lain (misalnya, unggah ke layanan Uji untuk pengujian UI pada perangkat nyata atau dijalankan di simulator).

4.3. File simbol (.dsym)

File .dsym berisi simbol debug untuk aplikasi.

  • Jika sebelumnya Anda telah mengintegrasikan App Center SDK di aplikasi Anda dengan modul pelaporan crash diaktifkan, layanan pelaporan crash mengharuskan file ini .dsym untuk build menampilkan laporan crash yang dapat dibaca manusia (simbolis).
  • Jika sebelumnya Anda telah mengintegrasikan SDK lain untuk tujuan pelaporan crash di aplikasi Anda (misalnya, HockeyApp SDK), layanan yang sesuai memerlukan .dsym file untuk menampilkan laporan crash yang dapat dibaca manusia.

Perlu diingat bahwa .dsym file tidak berubah saat kode menandatangani .ipa. Jika Anda memutuskan untuk menandatangani kode build nanti, yang .dsym dihasilkan sebelum penandatanganan kode masih valid.

Versi dan persyaratan yang didukung

Detail versi Xcode mesin build diperbarui setiap kali versi baru Xcode ditambahkan. Kami mengawasi versi terbaru yang dirilis oleh Apple dan menyertakannya sesegera mungkin pada VM yang digunakan untuk menjalankan build.