Wie einfach ist es, eine iPhone-Anwendung mit MonoTouch in Visual Studio zu entwickeln?

8

Ich kenne Monotouch und ich habe virtuelles MacOS und Monodevelop / Monotouch installiert.

Ist es jedoch besser, eine iPhone-Anwendung in Monotouch auf Mac OS X zu erstellen oder ist es so einfach, eine iPhone-App in Visual Studio zu erstellen und sie über Monotouch auf das iPhone zu portieren?

Gibt es jemanden, der versucht hat, c # -Projekt auf das iPhone zu portieren? Wie anders war es, die App auf Mac OS mit monodevelop / monotouch zu erstellen?

ps. Meine Lieblingshilfsprogramme existieren nicht auf Mac OS und das ist der Grund für dieses Q

    
sandalone 12.09.2010, 14:16
quelle

6 Antworten

8

Sie können einfach keine MonoTouch-Anwendung entwickeln, die nur Visual Studio verwendet. Sie müssen die OSX-Tools verwenden, um den Code zu erstellen und das Paket für das Telefon zu erstellen. Es gibt keine Möglichkeit, dies zu umgehen, und der einfachste Weg dazu ist die Verwendung von MonoDevelop.

Was ich und andere Entwickler in der Vergangenheit gemacht haben, ist die Entwicklung einiger C # -Bibliotheken für die Apps mit Visual Studio, denn obwohl MonoDevelop ziemlich gut ist, ist es noch lange nicht so gut wie VS. Refactoring-Code zum Beispiel ist viel einfacher mit Tools wie Resharper, etc.

Wenn Sie die App in Visual Studio entwickeln, gibt es eine Menge Dinge, mit denen Sie umgehen müssen; zum Beispiel:

  • Sie können einfach keinen Build von Visual Studio ausführen: VS weiß nicht, wie das für das iPhone erforderliche Projekt zu erstellen ist, und es enthält nicht alle Bibliotheken, die im iOS SDK vorhanden sind.
  • Es gibt keinen visuellen Editor zum Erstellen der XIB-Dateien, die Sie wahrscheinlich für Ihre App erstellen möchten.
  • Sie müssen hier und da eine Menge zusätzlicher Arbeit machen, um den VS dazu zu bringen, die Lösung sogar zu öffnen (wie Lib-Dateien von OSX nach Windows zu kopieren, separate Projekte zu erstellen usw.) (obwohl ich denke, Novell Mono-Tools für VS kann hier ein wenig helfen.

Also hier ist, was ich in den letzten 6 Monaten gemacht habe:

  • Zerlegen Sie die Anwendung in verschiedene Projekte für Geschäftslogik und UI-Logik
  • Sie sollten in der Lage sein, die Geschäftslogik von VS zu erstellen, zu kompilieren und sogar zu testen. Denken Sie daran, keine UI-Bibliotheken oder externe Bibliotheken zu verwenden, die in MonoTouch
  • nicht verfügbar sind
  • Verwenden Sie MonoDevelop, um den UI-Code-Teil der App zu erstellen. Die App schnell testen zu können, hilft sehr.
  • Hin und wieder, wenn Sie das Gefühl haben, dass Sie zu einer großen Säuberung müssen, öffnen Sie den Code in Visual Studio und machen Sie die Refactorings; Obwohl Sie nichts bauen können, wird der Code-Checker in VS helfen, sicherzustellen, dass der Code noch gültig ist.

Ich hoffe, es hilft!

    
Eduardo Scoz 12.09.2010, 23:39
quelle
10

Wie bereits erwähnt, müssen Sie, um Ihre Anwendungen zu kompilieren und sie für den Appstore zu laden oder mit dem Simulator zu debuggen, MonoDevelop auf einem Mac verwenden.

Es ist jedoch möglich, einen großen Teil des Codes in Visual Studio 2008 oder 2010 zu schreiben.

Ich habe 6 Monotouch-Apps geschrieben, die im Appstore schlecht verkauft werden und hauptsächlich Visual Studio verwenden. Der Grund, warum ich Windows und VS2010 verwende, ist, dass ich mit der Mac-Tastatur viel langsamer bin, mein Visual Studio-Setup für Geschwindigkeit eingerichtet habe und einen PC, der ungefähr doppelt so viel Prozessorleistung hat.

Hier ein paar Tipps und Tricks:

  • Kopieren Sie die Monotouch-DLLs von Ihrem Mac nach Windows (suchen Sie nach "monotouch.dll" auf dem Mac), kleben Sie alle DLLs an einen statischen Ort und verweisen Sie sie in Ihrem Projekt. Es sollte dann in VS kompilieren.
  • Stellen Sie sicher, dass Sie 2 Projektdateien behalten - ein MonoDevelop- und ein Visual Studio-Projekt. Ich habe versucht, manuell zu konvertieren und schrieb auch einen Konverter, um zwischen den beiden zu gehen, aber es bricht so oft ist es einfacher, nur zwei Dateien zu behalten.
  • Sie können die Mono XML-Dokumentation (in einem anderen Format als das XML-Dokumentationsformat von Microsoft .NET) für Visual Studio intellisense konvertieren. Der folgende Link enthält einen Download für die XML-Dokumentation, die ich für Monotouch 2.1 erstellt habe.
  • Vermeiden Sie die Verwendung eines freigegebenen Laufwerks für die Entwicklung. Dies macht die Kompilation auf dem Mac sehr langsam - bleiben Sie beim Kopieren der Dateien mit einem USB-Stick oder verwenden Sie idealerweise eine Online-Source-Control-Site wie bitbucket.org
  • Ich fand es ziemlich schnell mit einer einzigen Tastatur, Monitor und Maus und einem KVM-Switch zwischen PC und Mac.
  • Für das Layout (entweder XIB oder C #) müssen Sie Ihren Mac verwenden, oder schreiben Sie zuerst die nackten Knochen in VS.

Ich habe eine Menge über den Prozess hier geschrieben .

    
Chris S 13.09.2010 09:20
quelle
5

Dies hat sich mit der neuen MonoTouch-Version geändert, die in Xamarin.iOS umbenannt wurde und eine enge Visual Studio-Integration bietet . Sie immer noch brauchen einen Mac zum Erstellen und Testen, aber Sie können von VS ohne viel Hürde arbeiten.

Sie haben sogar den Debugger angeschlossen:

In diesem Screenshot werden VS und OS X auf demselben Computer ausgeführt, müssen dies aber nicht tun, da zwischen ihnen eine lokale Netzwerkverbindung besteht.

Lesen Sie mehr hier :

  

Mit Xamarin iOS für Visual Studio können iOS-Anwendungen auf Windows-Computern geschrieben und getestet werden, wobei ein vernetzter Mac den Build- und Deployment-Service bereitstellt.

     

Die Entwicklung für iOS in Visual Studio bietet eine Reihe von Vorteilen:

     
  • Erstellung einer einzelnen plattformübergreifenden Lösung für iOS-, Android- und Windows-Anwendungen.
  •   
  • Verwenden von Visual Studio-Tools (wie Resharper und Team Foundation Server) für alle Ihre plattformübergreifenden Projekte, einschließlich iOS-Quellcode.
  •   
  • Verwendung der bekannten (für bestehende Visual Studio-Entwickler) Code-Editor, Tastaturkürzel, etc.
  •   
  • Xamarin.iOS für Visual Studio unterstützt Konfigurationen, bei denen Visual Studio in einer virtuellen Windows-Maschine auf einem Mac ausgeführt wird (z. B. mit Parallels oder VMWare).
  •   

Beachten Sie, dass die Visual Studio-Integration in der Business Edition $ 999 pro Lizenz verfügbar ist.
(Die Lizenz ist unbefristet pro Person, aber Sie erhalten nur kostenlose Upgrades für ein Jahr.)

    
Dan Abramov 11.03.2013 23:55
quelle
2

Die MonoTouch-Startseite lautet:

  

Bitte beachten Sie, dass MonoTouch a erfordert   Mac, Apples iPhone SDK und du musst   ein Teil von Apples iPhone Developer sein   Programm zum Testen und Bereitstellen Ihrer   Software auf einem Gerät und zu   Verteilen Sie Ihren Code neu.

    
sumek 12.09.2010 23:44
quelle
0

Ich denke, einige der Probleme, die Sie mit Visual Studio haben werden, sind

  • Sie werden nicht mit den nativen UI-Steuerelementen
  • arbeiten
  • Der zum Testen verwendete Emulator ist anders
  • Sie verwenden möglicherweise API-Aufrufe, die in den MonoTouch-Bibliotheken nicht verfügbar sind

Ich würde bei der Verwendung von MonoDevelop auf dem Mac bleiben.

    
Scott Dorman 12.09.2010 14:57
quelle
0

Da Sie das Apple iPhone SDK (das nur für OS X verfügbar ist) benötigen, das für die Entwicklung mit MonoTouch installiert wurde, können Sie nur auf einem Mac entwickeln.

MonoDevelop ist eine ziemlich gute IDE und die Integration mit dem Interface Builder und dem iPhone / iPad-Simulator macht die Entwicklung für das iPhone mit MonoTouch sehr angenehm Erfahrung.

    
Michael Shimmins 12.09.2010 23:48
quelle