Membangun aplikasi Xamarin.iOS dengan Azure Mobile Apps
Nota
Produk ini dihentikan. Untuk pengganti proyek yang menggunakan .NET 8 atau yang lebih baru, lihat pustaka Community Toolkit Datasync.
Tutorial ini menunjukkan kepada Anda cara menambahkan layanan backend berbasis cloud ke aplikasi seluler iOS dengan menggunakan Xamarin.iOS dan backend aplikasi seluler Azure. Anda akan membuat backend aplikasi seluler baru dan aplikasi daftar Todo
Anda harus menyelesaikan tutorial ini sebelum tutorial Xamarin.iOS lainnya menggunakan fitur Mobile Apps di Azure App Service.
Prasyarat
Untuk menyelesaikan tutorial ini, Anda memerlukan:
-
Visual Studio 2022 dengan beban kerja berikut.
- ASP.NET dan pengembangan web
- Pengembangan Azure
- Pengembangan seluler dengan .NET
- Akun Azure .
-
Azure CLI.
- Masuk dengan
az login
dan pilih langganan yang sesuai sebelum memulai.
- Masuk dengan
- (Opsional)CLI Pengembang Azure
. - Mac yang tersedia:
- Menginstal
XCode - Buka Xcode setelah menginstal sehingga dapat menambahkan komponen tambahan yang diperlukan.
- Setelah terbuka, pilih Preferensi XCode ... Komponen>, dan instal simulator iOS.
- Ikuti panduan untuk Memasangkan ke Mac.
- Menginstal
Mac diperlukan untuk mengkompilasi versi iOS.
Mengunduh aplikasi sampel
Buka repositori azure-mobile-apps
di browser Anda. Buka menu drop-down Code, lalu pilih Unduh ZIP.
Setelah unduhan selesai, buka folder Unduhan
Anda dan temukan file . Klik kanan file yang diunduh, dan pilih Ekstrak Semua....
Jika mau, Anda dapat menggunakan PowerShell untuk memperluas arsip:
C:\Temp> Expand-Archive azure-mobile-apps-main.zip
Sampel terletak di sampel folder dalam file yang diekstrak. Sampel untuk mulai cepat diberi nama TodoApp
. Anda dapat membuka sampel di Visual Studio dengan mengklik dua kali file TodoApp.sln
.
Menyebarkan backend ke Azure
Nota
Jika Anda telah menyebarkan backend dari mulai cepat lainnya, Anda dapat menggunakan backend yang sama dan melewati langkah ini.
Untuk menyebarkan layanan backend, kami akan:
- Memprovisikan Azure App Service dan Azure SQL Database ke Azure.
- Gunakan Visual Studio untuk menyebarkan kode layanan ke Azure App Service yang baru dibuat.
Menggunakan Azure Developer CLI untuk menyelesaikan semua langkah
Sampel TodoApp dikonfigurasi untuk mendukung Azure Developer CLI. Untuk menyelesaikan semua langkah (provisi dan penyebaran):
- Instal azure Developer CLI.
- Buka terminal dan ubah direktori ke folder yang berisi file
TodoApp.sln
. Direktori ini juga berisiazure.yaml
. - Jalankan
azd up
.
Jika Anda belum masuk ke Azure, browser akan diluncurkan untuk meminta Anda masuk. Anda kemudian diminta untuk menggunakan langganan dan wilayah Azure. Azure Developer CLI kemudian menyediakan sumber daya yang diperlukan dan menyebarkan kode layanan ke wilayah Azure dan langganan pilihan Anda. Terakhir, Azure Developer CLI menulis file Constants.cs
yang sesuai untuk Anda.
Anda dapat menjalankan perintah azd env get-values
untuk melihat informasi autentikasi SQL jika Anda ingin mengakses database secara langsung.
Jika Anda telah menyelesaikan langkah-langkah dengan Azure Developer CLI, lanjutkan ke langkah berikutnya. Jika Anda tidak ingin menggunakan Azure Developer CLI, lanjutkan dengan langkah manual.
Buat sumber daya di Azure.
Buka terminal dan ubah direktori ke folder yang berisi file
TodoApp.sln
. Direktori ini juga berisiazuredeploy.json
.Pastikan Anda telah masuk dan memilih langganan menggunakan Azure CLI.
Buat grup sumber daya baru:
az group create -l westus -g quickstart
Perintah ini membuat grup sumber daya
quickstart
di wilayah US Barat. Anda dapat memilih wilayah apa pun yang Anda inginkan, asalkan Anda dapat membuat sumber daya di sana. Pastikan Anda menggunakan nama dan wilayah yang sama di mana pun mereka disebutkan dalam tutorial ini.Buat sumber daya menggunakan penyebaran grup:
az deployment group create -g quickstart --template-file azuredeploy.json --parameters sqlPassword=MyPassword1234
Pilih kata sandi yang kuat untuk kata sandi Administrator SQL Anda. Anda membutuhkannya nanti saat mengakses database.
Setelah penyebaran selesai, dapatkan variabel output karena ini menyimpan informasi penting yang Anda butuhkan nanti:
az deployment group show -g quickstart -n azuredeploy --query properties.outputs
Contoh output adalah:
Catat setiap nilai dalam output untuk digunakan nanti.
Menerbitkan kode layanan
Buka TodoApp.sln
di Visual Studio.
Di panel kanan, pilih Solutions Explorer.
Klik kanan proyek
TodoAppService.NET6
, lalu pilih Atur sebagai Proyek Startup.Pada menu atas, pilih Build>Terbitkan TodoAppService.NET6.
Di jendela Terbitkan
, pilih Target: Azure , lalu tekanBerikutnya .Pilih Target tertentu: Azure App Service (Windows), lalu tekan Berikutnya.
Jika perlu, masuk dan pilih nama Langganan yang sesuai.
Pastikan Tampilan
diatur ke grup sumber daya . Perluas grup sumber daya
quickstart
, lalu pilih App Service yang dibuat sebelumnya.Pilih Selesai.
Setelah proses pembuatan profil publikasi selesai, pilih Tutup.
Temukan Dependensi Layanan
dan pilih tiga titik di samping Database SQL Server, lalu pilih Sambungkan .Pilih Azure SQL Database, lalu pilih Berikutnya.
Pilih database mulai cepat
, lalu pilih Berikutnya .Isi formulir menggunakan nama pengguna dan kata sandi SQL yang ada dalam output penyebaran, lalu pilih Berikutnya.
Pilih Selesai.
Pilih Tutup setelah selesai.
Pilih Terbitkan untuk menerbitkan aplikasi Anda ke Azure App Service yang Anda buat sebelumnya.
Setelah layanan backend diterbitkan, browser dibuka. Tambahkan
/tables/todoitem?ZUMO-API-VERSION=3.0.0
ke URL:
Mengonfigurasi aplikasi sampel
Aplikasi klien Anda perlu mengetahui URL dasar backend Anda sehingga dapat berkomunikasi dengannya.
Jika Anda menggunakan
azd up
untuk menyediakan dan menyebarkan layanan, fileConstants.cs
dibuat untuk Anda dan Anda dapat melewati langkah ini.
Perluas proyek
TodoApp.Data
.Klik kanan pada proyek
TodoApp.Data
, lalu pilih Tambahkan Kelas>....Masukkan
Constants.cs
sebagai nama, lalu pilih Tambahkan.Buka file
Constants.cs.example
dan salin konten (Ctrl-A, diikuti dengan Ctrl-C).Beralih ke
Constants.cs
, sorot semua teks (Ctrl-A), lalu tempelkan konten dari file contoh (Ctrl-V).Ganti
https://APPSERVICENAME.azurewebsites.net
dengan URL backend layanan Anda.namespace TodoApp.Data { public static class Constants { /// <summary> /// The base URI for the Datasync service. /// </summary> public static string ServiceUri = "https://demo-datasync-quickstart.azurewebsites.net"; } }
Anda dapat memperoleh URL backend layanan Anda dari tab Terbitkan
. Pastikan Anda menggunakan URL https . Simpan file. (Ctrl-S).
Membuat dan menjalankan aplikasi
Di penjelajah solusi, perluas folder
xamarin-native
.Klik kanan proyek
TodoApp.iOS
dan pilih Atur sebagai Proyek Startup.Di bilah atas, pilih konfigurasi Simulator iPhone
dan target TodoApp.iOS :Pilih simulator iPhone yang sesuai (Saya telah memilih iPhone SE yang menjalankan iOS 15.5).
Tekan F5 untuk membangun dan menjalankan proyek.
Setelah aplikasi dimulai, Anda akan melihat daftar kosong dan kotak teks untuk menambahkan item di emulator. Kamu bisa:
- Tekan tombol + untuk menambahkan item.
- Pilih item untuk mengatur atau menghapus bendera yang telah selesai.
- Tekan ikon refresh untuk memuat ulang data dari layanan.
Pemecahan masalah
Simulator jarak jauh yang dikirim dengan Visual Studio 2022 tidak kompatibel dengan XCode 13.3. Anda akan menerima pesan kesalahan berikut:
Untuk mengatasi masalah ini:
- Nonaktifkan simulator jarak jauh (Alat / Opsi / Pengaturan iOS / hapus centang Simulator Jarak Jauh ke Windows). Ketika tidak dicentang, simulator akan berjalan di Mac alih-alih di Windows. Anda kemudian dapat berinteraksi dengan simulator langsung di Mac Anda saat menggunakan debugger, dll. di Windows.
- Nonaktifkan simulator jarak jauh seperti di atas, sehingga simulator berjalan di Mac. Kemudian gunakan aplikasi desktop jarak jauh untuk menyambungkan ke desktop Mac dari Windows. Opsi desktop jarak jauh termasuk Devolutions Remote Desktop Manager (cepat dan ada versi gratis yang tersedia), dan klien VNC (lebih lambat dan gratis).
- Gunakan perangkat fisik untuk menguji alih-alih simulator. Anda dapat memperoleh profil provisi gratis untuk menyelesaikan tutorial autentikasi.
Langkah berikutnya
Lanjutkan tutorial dengan menambahkan autentikasi ke aplikasi.