iOS derleme
- Oyun Geliştirme kursu
- Uzman
- Ders 17/47
- 4 dk
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
using System;
class IosExportCheck
{
static void Main()
{
string target = "Xcode";
string destination = "Builds/iOS";
// Export hedefini ve klasor yolunu konsola yazdir
}
}Örnek çözüm
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
if (Application.platform == RuntimePlatform.____) {
Console.WriteLine("iOS ortamindayiz");
}
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 |