Xamarin.iOS Uygulamalarını Paketle için mtouch kullanma

iPhone uygulamaları uygulama paketleri olarak gönderilir. Bunlar, kodunuzu, verilerinizi, yapılandırma dosyalarınızı ve uygulama hakkında bilgi edinmek için iPhone .app bildirim içeren uzantıya sahip dizinlerdir.

Bir .NET yürütülebilir dosyasını bir uygulamaya çevirme işlemi çoğunlukla, uygulamayı bir pakete çevirmek için gereken adımların çoğunu tümleştiren bir araç olan komutu mtouch tarafından çalıştırılır. Bu araç ayrıca uygulamanızı simülatörde başlatmak ve yazılımı gerçek bir iPhone veya iPod Touch cihazına dağıtmak için kullanılır.

Ayrıntılı Yönergeler

Mtouch(1) el ile sayfamızı, mtouch aracının tüm olası kullanımlarını kullanarak kontrol edin.

Yükleme

Mac'te mtouch Xamarin.iOS ile birlikte paketlenmiştir. Aşağıdaki dizinde bulunabilir:

/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin

Kullanımı mtouch kolay hale getirirken, üst dizinini sisteminizin ortam PATH değişkenine ekleyin.

Örneğin, Bash'te bunu yapmak için ~/.bash_profile dosyanın sonuna aşağıdaki satırı ekleyin:

export PATH=$PATH:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin

Uyarı

kullanmak mtouch için mtouch, /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin'egöre sembolik bir bağlantının varlığına güvenmez. Bu sembolik bağlantı yalnızca /Library/Frameworks/...içinde yüklü olan eski MonoTouch sürümleriyle uyumluluğu korumak için mevcuttur ve gelecekteki bir sürümde kaybolabilir.

Oluşturma

komutu mtouch kodunuzu üç farklı şekilde derleyebilirsiniz:

  • Simülatör testi için derle.
  • Cihaz dağıtımı için derle.
  • Yürütülebilir dosyanızı cihaza dağıtın.

Simülatör için bina

Kullanmaya başlanıyorsanız, en yaygın kullanılan senaryo uygulamayı Simulator'da denemeniz için kullanılır, bu nedenle kodu bir simülatör paketinde derlemek için mtouch -sim kullanıyor oluruz. Bu, şu şekilde yapılır:

$ mtouch -sim Hello.app hello.exe

Cihaz için Bina

Cihaza yazılım oluşturmak için, seçeneğini kullanarak uygulamalarınızı derlemeniz gerekir. Ayrıca, uygulamanızı imzalamak için mtouch -dev kullanılan sertifikanın adını da sağlayabilirsiniz. Aşağıda, uygulamanın cihaz için nasıl yerleşik olduğu gösterir:

$ mtouch -dev -c "iPhone Developer: Miguel de Icaza" foo.exe

Bu durumda, uygulamayı imzalamak için "iPhone Developer: Miguel de Icaza" sertifikasını kullanıyoruz. Bu adım çok önemlidir, yoksa fiziksel cihaz uygulamayı yüklemez.

Uygulamanızı Çalıştırma

Simülatörde başlatma

Bir uygulama paketine sahip olduktan sonra simülatörde başlatma çok kolaydır:

$ mtouch --sdkroot /Applications/Xcode.app -launchsim Hello.app 

Bayrak --sdkroot ayarlanmazsa varsayılan olarak xcode-select yolu kullanılır ve aşağıdaki uyarıyla sonuçlanmaz:

örneğin: uyarı MT0061: 'xcode-select --print-path': /Applications/Xcode.app/Contents/Developer tarafından raporlandığı şekilde sistem Xcode kullanılarak hiçbir Xcode.app belirtilmez (--sdkroot kullanılarak)

Yukarıdaki komut satırı aşağıdakine benzer bir çıkış oluşturur:

Launching application
Application launched
PID: 98460
Press enter to terminate the application

Hata ayıklamanıza yardımcı olmak için standart çıktının ve standart hata dosyalarının günlüğünü tutmanız kesinlikle önerilir. çıkışına, çıkışı ve Console.WriteLine diğer çalışma zamanı hata stdoutConsole.Error.WriteLine iletilerine stderr gider.

Bunu yapmak için ve --stdout bayraklarını --stderr kullanın:

../../tools/mtouch/mtouch --launchsim=Hello.app --stdout=output --stderr=error

Uygulamanız başarısız olursa, sorunu tanılamak için çıkışı ve hatayı alabilirsiniz.

Cihaza Dağıtma

Cihazınıza dağıtmak için cihazınızı Apple'ın Cihazları Yönetme belgesinde açıklandığı gibi sağlamanız gerekir. Cihazınız düzgün bir şekilde sağlandıktan sonra cihazınıza derlenmiş bir ".app" dağıtmak için mtouch komutunu kullanabilirsiniz. Bunu yapmak için şu komutu kullanın:

$ mtouch —sdkroot /Applications/Xcode.app -installdev=MyApp.app

Bayrak --sdkroot ayarlanmazsa varsayılan olarak xcode-select yolu kullanılır ve aşağıdaki uyarıyla sonuçlanmaz:

örneğin: uyarı MT0061: 'xcode-select --print-path': /Applications/Xcode.app/Contents/Developer tarafından raporlandığı şekilde sistem Xcode kullanılarak hiçbir Xcode.app belirtilmez (--sdkroot kullanılarak)

Bu adımlar genellikle uygulama tarafından Mac için Visual Studio.

Başvuru

Diğer komut satırı seçenekleriyle ilgili ayrıntılar için el ile mtouch(1) sayfasına bakın.