Xamarin.iOS Uygulamalarını Paketlemek için mtouch kullanma
i Telefon uygulamaları uygulama paketleri olarak gönderilir. Bunlar kodunuzu, verilerinizi, yapılandırma dosyalarınızı ve i Telefon uygulamasını öğrenmek için kullandığı bir bildirimi içeren uzantıya .app
sahip dizinlerdir.
.NET yürütülebilir dosyasını bir uygulamaya dönüştürme işlemi çoğunlukla, uygulamayı bir pakete dönüştürmek için gereken adımların çoğunu tümleştiren bir araç olan komutuyla mtouch
gerçekleştirilir. Bu araç, uygulamanızı simülatörde başlatmak ve yazılımı gerçek bir i Telefon veya iPod Touch cihazına dağıtmak için de kullanılır.
Ayrıntılı Yönergeler
Mtouch(1) el ile sayfamızı mtouch aracının tüm olası kullanımlarıyla kontrol edin.
Yükleme
Mac'te, mtouch
Xamarin.iOS ile birlikte gelir. Aşağıdaki dizinde bulunabilir:
/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin
mtouch
Kullanımı kolaylaştırmak için üst dizinini sisteminizin PATH
ortam değişkenine ekleyin.
Örneğin, Bash'te bunu yapmak için ~/.bash_profile dosyanızın sonuna aşağıdaki satırı ekleyin:
export PATH=$PATH:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin
Uyarı
kullanmak mtouch
için /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin'e işaret eden sembolik bir bağlantı olan /Developer/MonoTouch/usr/bin'in varlığına güvenmeyin. Bu sembolik bağlantı yalnızca /Library/Frameworks/... içinde yüklü olmayan eski MonoTouch sürümleriyle uyumluluğu korumak için vardır ve gelecekteki bir sürümde kaybolabilir.
Oluşturma
mtouch
komutu kodunuzu üç farklı yolla derleyebilir:
- Simülatör testi için derleyin.
- Cihaz dağıtımı için derleme.
- Yürütülebilir dosyanızı cihaza dağıtın.
Simülatör oluşturma
Kullanmaya başladığınızda en yaygın kullanılan senaryo, uygulamayı Simülatör'de denemeniz olacaktır, bu nedenle kodunu bir simülatör paketinde derlemek için kullanacaksınız mtouch -sim
. Bu işlem şu şekilde yapılır:
$ mtouch -sim Hello.app hello.exe
Cihaz için Oluşturma
Cihaza yazılım oluşturmak için, seçeneğini kullanarak mtouch -dev
uygulamanızı derleyeceksiniz. Buna ek olarak, uygulamanızı imzalamak için kullanılan sertifikanın adını sağlamanız gerekir. Aşağıda uygulamanın cihaz için nasıl oluşturulduğu gösterilmektedir:
$ mtouch -dev -c "iPhone Developer: Miguel de Icaza" foo.exe
Bu özel durumda, uygulamayı imzalamak için "i Telefon Developer: Miguel de Icaza" sertifikasını kullanıyoruz. Bu adım çok önemlidir, aksi takdirde fiziksel cihaz uygulamayı yüklemeyi reddeder.
Uygulamanızı Çalıştırma
Simülatörde Başlatma
Bir uygulama paketiniz olduğunda simülatörde başlatmak çok basittir:
$ mtouch --sdkroot /Applications/Xcode.app -launchsim Hello.app
Bayrak ayarlanmazsa --sdkroot
varsayılan olarak xcode-select yolu kullanılır ve aşağıdaki uyarıyla sonuçlanır:
örneğin: uyarı MT0061: 'xcode-select --print-path': /Applications/Xcode.app/Contents/Developer tarafından bildirilen sistem Xcode kullanılarak belirtilen Xcode.app (--sdkroot kullanılarak) yok
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ı olması için standart çıkışın ve standart hata dosyalarının günlüğünü de tutmanız kesinlikle önerilir. çıktısı Console.WriteLine
öğesine stdout
, çıkış Console.Error.WriteLine
ise ve diğer çalışma zamanı hata iletilerine stderr
gider.
Bunu yapmak için ve --stderr
bayraklarını kullanın--stdout
:
../../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ı görebilirsiniz.
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 mtouch komutunu kullanarak cihazınıza derlenmiş bir ".app" dağıtabilirsiniz. Bunu şu komutu kullanarak yaparsınız:
$ mtouch —sdkroot /Applications/Xcode.app -installdev=MyApp.app
Bayrak ayarlanmazsa --sdkroot
varsayılan olarak xcode-select yolu kullanılır ve aşağıdaki uyarıyla sonuçlanır:
örneğin: uyarı MT0061: 'xcode-select --print-path': /Applications/Xcode.app/Contents/Developer tarafından bildirilen sistem Xcode kullanılarak belirtilen Xcode.app (--sdkroot kullanılarak) yok
Bu adımlar genellikle Mac için Visual Studio tarafından gerçekleştirilir.
Başvuru
Diğer komut satırı seçenekleriyle ilgili ayrıntılar için mtouch(1) el ile sayfasına bakın.