Sdílet prostřednictvím


Použití mtouchu k balení aplikací Xamarin.iOS

I Telefon aplikace se dodávají jako sady aplikací. Jedná se o adresáře s příponou.app, která obsahuje váš kód, data, konfigurační soubory a manifest, který i Telefon používá k získání informací o vaší aplikaci.

Proces převodu spustitelného souboru .NET na aplikaci je většinou řízen příkazem mtouch , nástrojem, který integruje mnoho kroků potřebných k převodu aplikace na sadu. Tento nástroj slouží také ke spuštění aplikace v simulátoru a k nasazení softwaru na skutečné zařízení i Telefon nebo iPod Touch.

Podrobné pokyny

Zkontrolujte naši ruční stránku mtouch(1) se všemi možnými způsoby použití nástroje mtouch.

Instalace

Na Macu mtouch je součástí Xamarin.iOS. Najdete ho v následujícím adresáři:

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

Pokud chcete usnadnit mtouch použití, přidejte jeho nadřazený adresář do proměnné prostředí systému PATH .

Pokud to chcete udělat například v Bash, přidejte na konec souboru ~/.bash_profile následující řádek:

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

Upozorňující

Pokud chcete použít mtouch, nespoléhejte na existenci /Developer/MonoTouch/usr/bin, symbolický odkaz, který odkazuje na /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin. Tento symbolický odkaz existuje pouze pro zachování kompatibility se staršími verzemi MonoTouch, které nebyly nainstalovány v /Library/Frameworks/..., a v budoucí verzi může zmizet.

Sestavování

Tento mtouch příkaz může kód zkompilovat třemi různými způsoby:

  • Kompilace pro testování simulátoru
  • Kompilace pro nasazení zařízení
  • Nasaďte spustitelný soubor do zařízení.

Sestavení pro simulátor

Když začnete, nejběžnějším scénářem použití bude vyzkoušet aplikaci v simulátoru, takže budete používat mtouch -sim ke kompilaci kódu do balíčku simulátoru. To se provádí takto:

$ mtouch -sim Hello.app hello.exe

Sestavení pro zařízení

Pokud chcete vytvořit software pro zařízení, pomocí které aplikaci sestavíte mtouch -dev , musíte navíc zadat název certifikátu použitého k podepsání aplikace. Následující příklad ukazuje, jak je aplikace vytvořena pro zařízení:

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

V tomto konkrétním případě k podepsání aplikace používáme certifikát "i Telefon Developer: Miguel de Icaza". Tento krok je velmi důležitý nebo fyzické zařízení odmítne načíst aplikaci.

Spuštění aplikace

Spuštění v simulátoru

Spuštění simulátoru je velmi jednoduché, jakmile máte sadu aplikací:

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

--sdkroot Pokud příznak není nastavený, použije se výchozí hodnota xcode-select cesta a výsledkem bude následující upozornění:

např: upozornění MT0061: Není zadán žádný Xcode.app (pomocí --sdkroot), pomocí systémového Xcode hlášeného parametrem xcode-select --print-path: /Applications/Xcode.app/Contents/Developer

Výše uvedený příkazový řádek vytvoří výstup podobný tomuto:

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

Důrazně doporučujeme také uchovávat protokol standardního výstupu a standardních chybových souborů, které vám pomůžou při ladění. Výstup Console.WriteLine přejde do stdouta výstup z Console.Error.WriteLine a všechny ostatní chybové zprávy modulu runtime přejde do stderr.

Uděláte to tak, že použijete příznaky --stdout a --stderr příznaky:

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

Pokud vaše aplikace selže, zobrazí se výstup a chyba pro diagnostiku problému.

Nasazení do zařízení

Pokud chcete zařízení nasadit, musíte ho zřídit, jak je popsáno v dokumentu Správa zařízení společnosti Apple. Jakmile je vaše zařízení správně zřízené, můžete do zařízení nasadit zkompilovaný .app pomocí příkazu mtouch. Provedete to pomocí tohoto příkazu:

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

--sdkroot Pokud příznak není nastavený, použije se výchozí hodnota xcode-select cesta a výsledkem bude následující upozornění:

např: upozornění MT0061: Není zadán žádný Xcode.app (pomocí --sdkroot), pomocí systémového Xcode hlášeného parametrem xcode-select --print-path: /Applications/Xcode.app/Contents/Developer

Tyto kroky obvykle provádí Visual Studio pro Mac.

Reference

Podrobnosti o dalších možnostech příkazového řádku najdete na ruční stránce mtouch(1 ).