Toccando questo fuori sul mio telefono, così andando essere un po 'laconico - scuse per quello.
Comunque:
- Come detto in una risposta precedente, ci sono state applicazioni MonoTouch rilasciati per l'App Store. Che siano due o un bajillion non importa così tanto. La differenza tra uno e zero è infinita - la risposta è inequivocabile: sì, Apple approverà le app MonoTouch.
- MonoTouch gioca secondo le regole di Apple. Sputa bit nativi. Non c'è alcuna interpretazione del codice in corso, né esiste alcun JITting. La tua app MonoTouch è un pacchetto come qualsiasi altro e contiene un binario nativo come qualsiasi altro.
- Le app MonoTouch sono più grandi di quanto sarebbero se fossero state scritte con lo stack Apple. Questo perché l'app MonoTouch si basa su un sottoinsieme del framework Mono/.Net. A tale riguardo, tuttavia, una volta che si arriva a ciò che invia, non c'è nulla di particolarmente diverso in un'app MonoTouch. Ho lavorato in un'azienda in cui abbiamo creato le nostre app (sviluppate con lo stack Apple) contro il nostro framework personalizzato. Ha aumentato le dimensioni delle nostre app, ma ha anche ridotto i tempi di produzione (e questo è sempre il trade-off, giusto?). Inoltre, la dimensione del pacchetto di app subito dopo la compilazione può essere ingannevole. Poiché i pacchetti vengono compressi per l'App Store, le dimensioni diminuiscono drasticamente - puoi facilmente scrivere un'app MonoTouch che cade nello bene entro il limite di dimensioni accettabili per le app consegnate OTA (io porto questo perché è una domanda MT n0obs (giustamente) tendenzialmente chiedere). Quindi, Apple non ha alcun motivo reale per rifiutare in base alle dimensioni.
- Che si tratti di MonoTouch o di una struttura interna personalizzata come quella con cui lavoro/con, il materiale MonoTouch, fornito con la tua app, è solo un altro framework che potrebbe essere stato scritto in Objective- C.
- Se sei preoccupato di configurare la tua app per la distribuzione utilizzando l'intero stack MonoTouch e come ciò potrebbe influire sulle tue possibilità di approvazione, puoi dire a MonoDevelop (o all'utilità mtouch dalla riga di comando) di generare un Xcode progetto. Vedrai che il tuo codice è stato trasformato: vedrai l'assemblaggio nativo (non l'aroma di un IL). Puoi creare ed eseguire la tua app prodotta da MonoTouch direttamente da Xcode, quando ormai MonoTouch è praticamente fuori dall'immagine (ad eccezione di un framework contro cui stai costruendo (come MapKit, ad esempio)).
Per qualche motivo, tutto questo disturba un sottogruppo molto piccolo, ma vocale, di sviluppatori iPhone che, per qualsiasi motivo, non sopportano l'idea di persone che non conoscono utilizzando uno strumento diverso per creare app. Ma il loro hateage non cambia il semplice fatto che Apple ha accettato applicazioni MonoTouch (e Unity apps molto prima).
Il motivo principale per cui le app MT vengono rifiutate è che MT devs, nella mia esperienza (ne ho parlato con un bel po 'di persone - dopo aver tenuto discorsi, pubblicato forum, mailing list, qui ...), è che non hanno ancora imparato a sviluppare un'applicazione per iPhone. Questo è qualcosa che gli sviluppatori di iPhone devono fare regarldess di come scrivono le loro app. MonoTouch non è l'ostacolo - è sapere, per esempio, che Apple vuole la vostra applicazione per guardare un certo modo e di lavorare in un certo modo - dovrebbe guardare e sentire e comportarsi come gli altri (buono) applicazioni per iPhone, e non dovrebbe sii tra gli esempi di tentativi di scrivere app desktop per un telefono (che è dove il tuo media dev commette il suo primo errore durante la transizione allo sviluppo mobile).
In ultima analisi, il vostro strumento di scelta non sta andando alla materia fintanto che crea bit che giocano secondo le regole di Apple (come MonoTouch). Il vero ostacolo è l'apprendimento dell'iPhone Way of app design.
. Gli sviluppatori di applicazioni net, sia su Windows, Windows Mobile, o ovunque siano in esecuzione Mono (non MonoTouch), sono abituati a sviluppare app in base ai propri gusti. Questo non vola nel mondo di iPhone.
Si può tranquillamente andare con MonoTouch. Come è stato dimostrato, Apple provvederà all'approvazione delle app MT da parte di.
La cosa si ha realmente bisogno di fare (ancora una volta, indipendentemente da quale pila dev si sceglie) è leggere documenti di Apple sul design per iPhone e le loro linee guida. C'è una folla enorme di sviluppatori il loro attribuendo loro rifiuti app ad Apple di essere il male (o qualsiasi altra cosa - scuse disinformati, fondamentalmente), quando la verità è che le loro applicazioni sono spazzatura ed è chiaro gli sviluppatori non hanno giocato secondo le regole (o addirittura preoccuparsi di leggere le regole).
Alla fine, in molti casi, quando si utilizza MonoTouch scriverai molto meno codice, e il costo per questo è un pacchetto di app più grande (che, come ho detto, uscirà molto ragionevolmente dimensionato dopo che è stato compresso per la distribuzione).
Questo non è un gran problema. Con 3g, gli utenti non si preoccupano di scaricare applicazioni di 2-3MB. Se è abbastanza piccolo da inviare OTA, va tutto bene. E nei casi in cui la tua app supera il limite, è probabile che le risorse incorporate (media - immagini, video, ecc. - sia così che i bundle si gonfiano tipicamente verso le sole dimensioni wifi), e questo è qualcosa che anche gli sviluppatori Objective-C devono affrontare , quindi non è un problema di MonoTouch.
Così, ignorare i nemici (che non hanno nemmeno provato MonoTouch o la briga di imparare come funziona), e stare tranquilli che, fintanto che la vostra applicazione è conforme alle linee guida di Apple, non c'è alcuna motivo per loro di rifiutare esso. Ciò non significa che la tua app sia accettata a condizione che venga progettata correttamente (molte app vengono rifiutate senza un motivo apparente), ma puoi considerare te stesso, più o meno, di essere alla pari con gli sviluppatori che utilizzano gli strumenti di Apple.
Spero che questo aiuti :)
sembra essere un duplicato di: http://stackoverflow.com/questions/1583856/is-monotouch-worth-the-cost-or-should-i-just-learn -objective-c –
Sembra che il punto principale di questa domanda sia confrontare il costo di possedere monotouch vs learning obj-c. Il mio obiettivo è l'utilizzo del monotouch nel mondo reale. Ricevo la somiglianza, ma suppongo che le risposte sarebbero diverse. –
cattive notizie su questo: http://stackoverflow.com/questions/2604033/is-monotouch-now-banned-on-the-iphone –