Sto cercando di lavorare su un'applicazione che deve essere eseguita sia su Windows che su OSX. Dato che ho già molta familiarità con C# /. NET, ho pensato di dare un'occhiata all'utilizzo di Mono. Ma voglio anche che sia molto facile da installare e non voglio che gli utenti debbano installare separatamente il pacchetto Mono. È possibile creare un pacchetto OS X .app che include semplicemente TUTTO? Cioè, la mia app, le risorse e il runtime Mono completo?È possibile includere Mono Runtimes nel pacchetto OSX .app?
risposta
Sì, è possibile farlo. Scegli un'app, qualsiasi app e Mostra i contenuti del pacchetto. Esplora un po 'e vedrai che c'è una directory Contents/MacOS all'interno. Conterrà un file con il bit bit di esecuzione. Questo può essere codice macchina o qualsiasi vecchio script con una riga #!
all'inizio. Tutto quello che devi fare è duplicare la struttura delle directory con un'app scheletro, spostare il tuo runtime Mono nella directory Risorse da qualche parte e scrivere uno script bash che inizializzi tutto. Potrebbero esserci programmi di utilità automatizzati per farlo fluttuare da qualche parte, ma è piuttosto facile farlo manualmente.
Si consiglia di utilizzare lo strumento di creazione preferito per automatizzare questo processo.
E 'possibile, con un bel po' di hacking e qualche toolchain divertente compilare un'app .NET indirizzata staticamente alla piattaforma Mac OS, senza bisogno di distribuire mono con esso. Guarda questo sito parlando di come Mono viene usato staticamente in alcune app per iPhone.
Un'altra grande risorsa è il canale #mono su irc.gnome.org o irc.gimp.net (http://mono-project.com/IRC)
Questo non è davvero necessario sul mac. IOS deve eseguire questa operazione a causa della sua politica di collegamento statico rigoroso. Mac non ha tali restrizioni. – Shayne
- 1. Invia una app OSX con l'app helper nel suo pacchetto
- 2. Pacchetto di un'app Node.js come app osx
- 3. È possibile includere/importare codice nel manifesto Android?
- 4. come includere una directory nel pacchetto debuild
- 5. Includere una gerarchia di directory di risorse nel pacchetto di app
- 6. È possibile includere l'assemblaggio in linea nel codice Google Go?
- 7. Domanda per principianti: GTK # (Mono) su OSX
- 8. Come includere i simboli di debug nel pacchetto .vsix
- 9. Come includere il file RMarkdown nel pacchetto r?
- 10. Come includere file di .pyx nel pacchetto python
- 11. È possibile eseguire Mono applicazioni universali di Windows?
- 12. Mono su OSX: impossibile trovare gtksharpglue-2.dll
- 13. Gestione degli errori Mac OSX/iPhone nel Delegato app?
- 14. Django - includere URL app
- 15. È possibile includere sottodirectory usando dist utils (setup.py) come parte dei dati del pacchetto?
- 16. non è riuscito a inviare il pacchetto qLaunchSuccess, non è possibile eseguire il debug nel dispositivo
- 17. Pacchetto Java nel pacchetto?
- 18. Come installare Mono su macOS così mono funziona nel terminale?
- 19. C# Mono {new Bitmap ("fileName");} Si blocca solo su OSX
- 20. È possibile creare un mdb mono da un pdb .net?
- 21. Dov'è la differenza tra Xamarin.Mac e Mono: OSX
- 22. È ancora necessario includere risorse non Retina nelle app iOS?
- 23. È possibile ripristinare automaticamente gli acquisti in app su iOS?
- 24. Pacchetto "repackaged" Google App Engine
- 25. Non è possibile includere la stessa interfaccia con parametri diversi?
- 26. è possibile includere php in html su IIS7?
- 27. Posso includere dylib-s nel mio eseguibile?
- 28. Storyboard per app OSX in Xcode 6
- 29. Progetto mono: perché è mono più veloce di .NET?
- 30. È possibile includere virgolette come parte di un nsstring?
risposta impressionante. Sono sicuro che non è raccomandato, però ... –
Grazie. In ogni caso, dipende davvero da cosa intendi con "non raccomandato". Se lo facevi manualmente al 100%, allora sì, assolutamente, è una cattiva idea. Ci sarebbero alcuni gravi problemi di distribuzione lì. Ma il primo passo per automatizzare qualcosa è sapere come farlo manualmente. Per chiarire, se non è disponibile uno strumento di impacchettamento predefinito per il runtime Mono, scrivere uno script rapido per automatizzarlo e inserirlo nel processo di compilazione. –
"Inizializza tutto", cosa intendi? Vuoi dire che inizia a chiamare una funzione da riga di comando come "mono hello.exe"? Potresti indicarci un link? Grazie. –