Tippen Sie das auf meinem Telefon aus, so werde ich ein wenig knapp - Entschuldigung dafür.
Wie dem auch sei:
- Wie in einer früheren Antwort sagte, gab es Monotouch-Anwendungen im App Store veröffentlicht. Ob es zwei oder ein Bajillion ist, spielt keine so große Rolle. Der Unterschied zwischen Eins und Null ist unendlich - die Antwort ist eindeutig: Ja, Apple wird MonoTouch-Apps genehmigen.
- MonoTouch spielt nach Apples Regeln. Es spuckt native Bits aus. Es gibt keine Interpretation von Code, noch gibt es JITting. Ihre MonoTouch-App ist ein Bundle wie jeder andere und enthält eine native Binärdatei wie jede andere.
- MonoTouch-Apps sind größer als sie wären, wenn sie mit Apples Stack geschrieben wären. Dies liegt daran, dass Ihre MonoTouch-App auf einer Teilmenge des Mono/.Net-Frameworks basiert. In dieser Hinsicht, wenn Sie einmal zu dem gehen, was Schiffe ist, gibt es nichts besonderes über eine MonoTouch App. Ich arbeitete in einem Unternehmen, in dem wir unsere Apps (entwickelt mit Apples Stack) gegen unser benutzerdefiniertes Framework entwickelten. Es hat die Größe unserer Apps erhöht, aber auch die Produktionszeit verkürzt (und das ist immer der Kompromiss, richtig?). Außerdem kann die Größe des App-Bundles unmittelbar nach der Kompilierung trügerisch sein. Da Bundles für den App Store gezippt werden, nimmt die Größe drastisch ab - Sie können problemlos eine MonoTouch-App schreiben, die und innerhalb der zulässigen Größenbeschränkung für apps OTA (Ich bringe dies, weil es eine Frage ist MT n0obs (zu Recht) neigen Fragen). Also, Apple hat keinen wirklichen Grund, basierend auf der Größe abzulehnen.
- Egal, ob MonoTouch oder ein benutzerdefiniertes Inhouse-Framework wie das, mit dem ich gearbeitet habe, das MonoTouch-Zeug, wenn es mit Ihrer App ausgeliefert wird, ist nur ein anderes Framework, das in Objective geschrieben werden könnte. C.
- Wenn Sie Bedenken haben, Ihre App für die Verteilung mit dem gesamten MonoTouch-Stapel zu konfigurieren und wie sich dies auf Ihre Genehmigungseffekte auswirkt, können Sie MonoDevelop (oder das mtouch-Dienstprogramm über die Befehlszeile) Xcode ausgeben lassen Projekt. Sie werden sehen, dass Ihr Code transformiert wurde - Sie werden sich die native Assembly ansehen (nicht irgendeine Art von IL). Sie können Ihre von MonoTouch erstellte App direkt in Xcode erstellen und ausführen. Zu diesem Zeitpunkt ist MonoTouch praktisch nicht mehr im Bild (außer als Framework, gegen das Sie bauen (z. B. MapKit)).
Aus irgendeinem Grund stört all dies eine sehr kleine, aber lautstarke Untergruppe von iPhone-Entwicklern, die aus irgendeinem Grund die Idee von Leuten, die sie nicht kennen, nicht mit einem anderen Tool zum Erstellen von Apps vertragen können. Aber ihre Hetze ändert nichts an der einfachen Tatsache, dass Apple MonoTouch-Apps (und Unity-Apps lange davor) akzeptiert hat. Der größte Grund, warum MT-Apps abgelehnt werden, ist, dass MT-Entwickler nach meiner Erfahrung (ich habe schon mit einigen geredet - nachdem ich einige Vorträge gehalten, in Foren gepostet, Mailinglisten hier veröffentlicht habe) ...), haben sie noch nicht gelernt, wie man eine iPhone App entwickelt. Das ist etwas, was iPhone-Entwickler von regieren müssen, wie sie ihre Apps schreiben. MonoTouch ist nicht das Hindernis - es ist zum Beispiel zu wissen, dass Apple möchte, dass deine App auf eine bestimmte Art und Weise aussieht und funktioniert - sie sollte aussehen und sich wie andere (gute) iPhone-Apps verhalten und sollte es auch nicht tun gehören zu den Beispielen für Versuche, Desktop-Apps für ein Telefon zu schreiben (an denen ein durchschnittlicher Entwickler seinen ersten Fehler beim Übergang zur mobilen Entwicklung macht).
Letztendlich wird Ihr Werkzeug der Wahl nicht so wichtig sein, solange es Bits erzeugt, die nach Apples Regeln spielen (wie MonoTouch). Das eigentliche Hindernis ist das iPhone-App-Design zu lernen.
.Net-Anwendungsentwickler, ob unter Windows, Windows Mobile oder wo auch immer Mono (nicht MonoTouch) läuft, sind daran gewöhnt, Apps nach ihrem eigenen Geschmack zu entwickeln. Das fliegt nicht in der iPhone-Welt.
Sie können sicher mit MonoTouch gehen. Wie gezeigt wurde, wird Apple MT-Apps genehmigen.
Die Sache, die Sie wirklich tun müssen (wieder, unabhängig davon, welchen dev Stapel Sie wählen) ist lesen Apples Docs auf iPhone App Design und ihre Richtlinien. Es gibt eine riesige Menge von Entwicklern, die ihre App-Ablehnungen Apple als böse bezeichnen (oder was auch immer - uninformierte Entschuldigungen, im Grunde genommen), wenn die Wahrheit ist, dass ihre Apps Müll sind und es klar ist, dass die Entwickler nicht nach den Regeln spielen Bitte lesen Sie die Regeln).
Am Ende werden Sie in vielen Fällen viel weniger Code schreiben, wenn Sie MonoTouch verwenden, und die Kosten dafür sind ein größeres App-Bundle (das, wie gesagt, nach dem Zip sehr vernünftig groß wird) zur Verteilung).
Das ist nicht viel ein Problem. Mit 3g schwitzen die Benutzer nicht beim Herunterladen von 2-3MB großen Apps. Wenn es klein genug ist, um OTA zu senden, ist alles in Ordnung. Und in den Fällen, in denen Ihre App das Limit überschreitet, sind wahrscheinlich eingebettete Ressourcen (Medien - Bilder, Videos usw. - so wachsen Bundles typischerweise zu reinen Wifi-Größen), und das ist auch etwas, mit dem sich Objective-C-Entwickler befassen müssen Das ist kein MonoTouch-Problem.
Also, ignorieren Sie die Hasser (die nicht einmal versucht, Monotouch haben oder die Mühe zu lernen, wie es funktioniert), und sicher sein, dass, solange die App auf Apples Richtlinien entspricht, gibt es kein Grund für sie ablehnen es. Es bedeutet nicht, dass deine App garantiert akzeptiert wird, solange du sie richtig designst (viele Apps werden ohne ersichtlichen Grund abgelehnt), aber du kannst dich mehr oder weniger als gleichwertig mit Entwicklern ansehen, die Apples Tools verwenden.
this helps :)
scheint ein Duplikat zu sein von: http://stackoverflow.com/questions/1583856/is-monotouch-worth-the-cost-or-should-i-just-learn -objective-c –
Es scheint, dass der Hauptpunkt dieser Frage ist, die Kosten für den Besitz von Monotouch vs Learning Obj-c zu vergleichen. Mein Fokus liegt auf der realen Nutzung von Monotouch. Ich bekomme die Ähnlichkeit, aber ich denke, die Antworten würden anders sein. –
schlechte Nachrichten dazu: http://stackoverflow.com/questions/2604033/is-monotouch-now-banned-on-the-iphone –