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.