Bagikan melalui


Ikon Aplikasi Alternatif di Xamarin.iOS

Artikel ini membahas penggunaan ikon aplikasi alternatif di Xamarin.iOS.

Apple telah menambahkan beberapa penyempurnaan ke iOS 10.3 yang memungkinkan app mengelola ikonnya:

  • ApplicationIconBadgeNumber - Mendapatkan atau mengatur lencana ikon aplikasi di Springboard.
  • SupportsAlternateIcons - Jika true aplikasi memiliki sekumpulan ikon alternatif.
  • AlternateIconName - Mengembalikan nama ikon alternatif yang saat ini dipilih atau null jika menggunakan ikon utama.
  • SetAlternameIconName - Gunakan metode ini untuk mengalihkan ikon aplikasi ke ikon alternatif yang diberikan.

Contoh pemberitahuan saat aplikasi mengubah ikonnya

Menambahkan Ikon Alternatif ke Proyek Xamarin.iOS

Untuk mengizinkan aplikasi beralih ke ikon alternatif, kumpulan gambar ikon harus disertakan dalam proyek aplikasi Xamarin.iOS. Gambar-gambar ini tidak dapat ditambahkan ke proyek menggunakan metode umumAssets.xcassets, mereka harus ditambahkan ke folder Sumber Daya secara langsung.

Lakukan:

  1. Pilih gambar ikon yang diperlukan dalam folder, pilih semua dan seret ke folder Sumber Daya di Penjelajah Solusi:

    Pilih gambar ikon dari folder

  2. Saat diminta, pilih Salin, Gunakan tindakan yang sama untuk semua file yang dipilih dan klik tombol OK :

    Kotak dialog Tambahkan File ke Folder

  3. Folder Sumber Daya akan terlihat seperti berikut ini ketika selesai:

    Folder Sumber Daya akan terlihat seperti ini

Memodifikasi File Info.plist

Dengan gambar yang diperlukan ditambahkan ke folder Sumber Daya, kunci CFBundleAlternateIcons perlu ditambahkan ke file Info.plist proyek. Kunci ini akan menentukan nama ikon baru dan gambar yang menyusunnya.

Lakukan:

  1. Di Penjelajah Solusi, klik dua kali file Info.plist untuk membukanya untuk pengeditan.
  2. Beralih ke tampilan Sumber .
  3. Tambahkan kunci ikon Bundel dan biarkan Jenis diatur ke Kamus.
  4. CFBundleAlternateIcons Tambahkan kunci dan atur Jenis ke Kamus.
  5. AppIcon2 Tambahkan kunci dan atur Jenis ke Kamus. Ini akan menjadi nama kumpulan ikon aplikasi alternatif baru.
  6. CFBundleIconFiles Menambahkan kunci dan mengatur Jenis ke Array
  7. Tambahkan string baru ke CFBundleIconFiles array untuk setiap file ikon yang meninggalkan ekstensi dan @2xakhiran , , @3xdll. (contoh 100_icon). Ulangi langkah ini untuk setiap file yang membentuk kumpulan ikon alternatif.
  8. UIPrerenderedIcon Tambahkan kunci ke AppIcon2 kamus, atur Jenis ke Boolean dan nilai ke Tidak.
  9. Simpan perubahan pada file.

File Info.plist yang dihasilkan akan terlihat seperti berikut ini ketika selesai:

File Info.plist yang telah selesai

Atau seperti ini jika dibuka di editor teks:

<key>CFBundleIcons</key>
<dict>
    <key>CFBundleAlternateIcons</key>
    <dict>
        <key>AppIcon2</key>
        <dict>
            <key>CFBundleIconFiles</key>
            <array>
                <string>100_icon</string>
                <string>114_icon</string>
                <string>120_icon</string>
                <string>144_icon</string>
                <string>152_icon</string>
                <string>167_icon</string>
                <string>180_icon</string>
                <string>29_icon</string>
                <string>40_icon</string>
                <string>50_icon</string>
                <string>512_icon</string>
                <string>57_icon</string>
                <string>58_icon</string>
                <string>72_icon</string>
                <string>76_icon</string>
                <string>80_icon</string>
                <string>87_icon</string>
            </array>
            <key>UIPrerenderedIcon</key>
            <false/>
        </dict>
    </dict>
</dict>

Mengelola Ikon Aplikasi

Dengan gambar ikon yang disertakan dalam proyek Xamarin.iOS dan file Info.plist dikonfigurasi dengan benar, pengembang dapat menggunakan salah satu dari banyak fitur baru yang ditambahkan ke iOS 10.3 untuk mengontrol ikon aplikasi.

Properti SupportsAlternateIconsUIApplication kelas memungkinkan pengembang untuk melihat apakah aplikasi mendukung ikon alternatif. Contohnya:

// Can the app select a different icon?
PrimaryIconButton.Enabled = UIApplication.SharedApplication.SupportsAlternateIcons;
AlternateIconButton.Enabled = UIApplication.SharedApplication.SupportsAlternateIcons;

Properti ApplicationIconBadgeNumberUIApplication kelas memungkinkan pengembang untuk mendapatkan atau mengatur nomor lencana ikon aplikasi saat ini di Springboard. Nilai defaultnya adalah nol (0). Contohnya:

// Set the badge number to 1
UIApplication.SharedApplication.ApplicationIconBadgeNumber = 1;

Properti AlternateIconNameUIApplication kelas memungkinkan pengembang untuk mendapatkan nama ikon aplikasi alternatif yang saat ini dipilih atau ditampilkan null jika aplikasi menggunakan Ikon Utama. Contohnya:

// Get the name of the currently selected alternate
// icon set
var name = UIApplication.SharedApplication.AlternateIconName;

if (name != null ) {
    // Do something with the name
}

Properti SetAlternameIconNameUIApplication kelas memungkinkan pengembang untuk mengubah ikon aplikasi. Teruskan nama ikon untuk memilih atau null kembali ke ikon utama. Contohnya:

partial void UsePrimaryIcon (Foundation.NSObject sender)
{
    UIApplication.SharedApplication.SetAlternateIconName (null, (err) => {
        Console.WriteLine ("Set Primary Icon: {0}", err);
    });
}

partial void UseAlternateIcon (Foundation.NSObject sender)
{
    UIApplication.SharedApplication.SetAlternateIconName ("AppIcon2", (err) => {
        Console.WriteLine ("Set Alternate Icon: {0}", err);
    });
}

Saat aplikasi dijalankan dan pengguna memilih ikon alternatif, pemberitahuan seperti berikut ini akan ditampilkan:

Contoh pemberitahuan saat aplikasi mengubah ikonnya

Jika pengguna beralih kembali ke ikon utama, pemberitahuan seperti berikut ini akan ditampilkan:

Contoh pemberitahuan saat aplikasi berubah menjadi ikon utama

Ringkasan

Artikel ini telah membahas penambahan ikon aplikasi alternatif ke proyek Xamarin.iOS dan menggunakannya di dalam aplikasi.