CodeBlanks Logo Icon CodeBlanks

iOS derleme

iOS için Xcode proje dışa aktarımını öğrenirsin.

iOS derleme ve Xcode projesi

Unity, Windows veya Android'de olduğu gibi doğrudan çalıştırılabilir bir son ikili dosya üretmez. Bunun yerine macOS ortamında Apple'ın Xcode yazılımı ile açılabilen bir proje klasörü dışa aktarır (Export).

// Unity Build ciktisi:
// /Builds/iOS klasoru altinda Unity-iPhone.xcodeproj olusur.

Oyunun son derlemesi ve kod imzalaması Mac bilgisayarda Xcode içerisinden tamamlanır.

İmzalama, Profiller ve TestFlight

iOS uygulamasını gerçek bir cihazda test etmek için Apple Developer hesabı, Signing & Capabilities ayarları ve geçerli bir Provisioning Profile gereklidir.

// Xcode icerisinde:
// Team secilir ve 'Automatically manage signing' aktif edilir.

Hazırlanan derlemeler TestFlight platformu üzerinden beta test kullanıcılarına zahmetsizce dağıtılır.

Uygulama Xcode dışa aktarım hedefini doğrula

target ve destination değişkenlerini kullanarak Console.WriteLine ile "Hedef: Xcode Projesi | Yol: Builds/iOS" metnini yazdır.

Başlangıç kodu

Player.cs
using System;

class IosExportCheck
{
    static void Main()
    {
        string target = "Xcode";
        string destination = "Builds/iOS";
        // Export hedefini ve klasor yolunu konsola yazdir
        
    }
}

Örnek çözüm

Player.cs
using System;

class IosExportCheck
{
    static void Main()
    {
        string target = "Xcode";
        string destination = "Builds/iOS";
        Console.WriteLine($"Hedef: {target} Projesi | Yol: {destination}");
    }
}

Beklenen çıktı

Hedef: Xcode Projesi | Yol: Builds/iOS

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Unity'den iOS derlemesi alındığında nasıl bir çıktı elde edilir?

  • Yalnızca internet tarayıcılarında çalışan bir WebGL paketi
  • Mac ortamında Xcode ile açılıp derlenecek bir Xcode proje klasörü Doğru cevap
  • iPhone cihazına doğrudan USB ile yüklenebilen bağımsız bir .exe dosyası
  • Google Play Store'a yüklenecek imzalı bir .aab arşivi

Açıklama: Apple kısıtlamaları nedeniyle Unity önce Xcode projesi üretir; derleme ve imzalama işlemi Mac üzerindeki Xcode ile tamamlanır.

2 iOS platformunu kontrol et

Soru
if (Application.platform == RuntimePlatform.____) {
    Console.WriteLine("iOS ortamindayiz");
}
Cevap
if (Application.platform == RuntimePlatform.IPhonePlayer) {
    Console.WriteLine("iOS ortamindayiz");
}

Açıklama: Unity API'sinde iOS çalışma zamanı platform sabiti RuntimePlatform.IPhonePlayer olarak tanımlanmıştır.

3 iOS dağıtım kavramları

Kavram Anlamı
Xcode Apple için derleme ve imzalama aracı
Export Project Xcode uyumlu proje dosyası üretme
Provisioning Profile Cihazda çalıştırma yetki profili
TestFlight Beta sürümlerini dağıtma servisi

Uzman bölümündeki tüm dersler