Creare applicazione per iPhone senza avere mac ne hackintosh

Non sei il primo che me lo dice…ma mi pare assurdo io compilo con gli stessi strumenti con cui ho scritto la guida e mi funziona.

Prova ad aggiungere nel delegate.m questa riga:

#import <UIKit/UIHardware.h>

Vuoi usate gli include del mio post giusto?

guarda, io ero andato infatti a vedere se avevo UIHardware.h dentro UIKit e non c’era!!
mi sa che gli headers che hai linkato non sono completi, io almeno ho usato quelli, cmq anche installando gcc non si crea nessuna cartella include, ho semplicemente messo la tua su var

cmq, mi sono scaricato il codice di UIHardware.h cercandolo da google e inserito pero’ ancora dava gli stessi errori, ora provo inserendo quell’include

edit: aggiunto il tuo include ma sempre gli stessi errori, anzi ora mi chiede anche un file NSObject.h visto che UIHardware.h lo importa

Anche io non suono riuscita a compilare. Stessi errori di Jack, apparte il fatto che non avendo inserito il codice di UIHardware.it non mi richiede il file NSObject.h, ma mi dice che non trova UIHardware.

provando con la guida di un altro sito concorrente (eheh) ho visto che funziona, mi sa e’ da rivedere il codice dell’applicazione o bo! usa il toolchain 2.0 pero’ con include sdk 2.0 da sovrascrivere a quelli del toolchain, makeinstall e tipo di programmazione un po’ diversa

tipo lui per creare la finestra fa:
window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

Avevo sbagliato io a uplodare gli include!
Ora ho sostituito con la versione corretta, scaricate questi e metteteli al psoto dei vecchi e riprovate: http://www.megaupload.com/it/?d=EONL52SJ

ora infatti va tutto perfetto! stupendo, la mia ragazza ti uccidera’ ora che staro’ 24/24 a cercare di produrre qualcosa per l’iphone XD certo pero’ che da win e’ un parto ogni volta provare un pezzo di codice :frowning:

Beh secondo me non è questo il vero problema :smiley:
Io lavoro sempre in remoto sull’iphone tramite putty:

  • Avvio su iphone l’app “Insomnia” in modo che la connessione wifi del cel non si chiuda mai e cosi posso mettere l’iphone in sleep.
  • Programmo su iphone tramite l’editor testuale integrato (comando “nano” dei sitemi unix like)
  • Compilo e provo sempre in remoto come ho scritto nella guida

Il vero problema secondo me è la mancanza di interface builder! Se uno vuole farsi una app grafica gli tocca posizionarsi tutti i controlli “a mano” e inserirli da codice senza nessun aiuto…diciamo che bisogna essere discreti programmatori :stuck_out_tongue:

Comunque ho visto che il vecchio codice che avevi puntava a modmyapple… non mi interessa se sei di qualche team o cosa, ma se ripubblichi qualcosa che hai preso da qui la fonte citala :smiley:

Grazie tool !!
funziona tutto adesso :smiley:

toolchain puoi far chiarezza sugli oggetti che possiamo usare? ad esempio se cerco su google qualche esempio per aggiungere un alert o roba varia mi dice sempre che non sa che roba sia UIAlertSheet e altri oggetti, tra i diversi framework uikit appkit poi non ci capisco niente, ma perche’ tutta questa confusione deve esserci XD
Oppure dove possiamo trovare una lista di oggetti con le loro specifiche e esempi di implementazione, io ho trovato cocoadev ma appunto per alcuni oggetti non riesco a compilare

Puoi usare tutti gli oggetti che esistono.
Solo che a differenza del lavoro che ottieni con xcode ed interface builder (dove ti basta selezionare l’oggetto grafico e trascinarlo nella schermata) qui devi dichiarare tutto a mano e “collegarlo”.
La lista degli oggetti la trovi su google…siti come quello di ericasadun, cocoadev,iphonesdkarticles ce ne sono una infinità. :smiley:

E se non compila perchè non conosce un oggetto è perchè non metti l’include giusto (o se fallisce in fase di linking è perchè non è stato messo il framework giusto nel makefile), ti assicuro che hai tutto quanto ha disposizione e anche di più!

edit: http://ericasadun.com/iPhoneDocs/_u_i_alert_sheet_8h-source.html

e’ che non so usare il Makefile allora, perche’ senno’ con gli include ci arrivo :frowning:

PS: l’UIAlertSheet.h non c’e’ nei tuoi include XD ce l’ho messo adesso

Non so che dirti, i miei include sono quelli del sdk 2.2 sommati a quelli per le open toolchain da saurik e li uso da mesi senza nessun problema.

UIAlertSheet è oggetto pubblico o privato? Scaricati l’sdk dal sito della apple e controlla tu stesso se c’è dentro

no niente e’ che devo ancora capacitarmi bene con l’objective C che sembra piuttosto che un C object oriented una creatura infernale, poi devo ancora studiarmi come funziona il Makefile per queste app

grazie comunque di tutto!

Ciao a tutti, ho letto la guida è mi è sembrata molto interessante…

però, quando vado ad installare il GCC e il MAKE da cydia, non me li installa

(guardare l’allegato)

grazie a tutti!!

Hai il firmware 3.0?
Secondo me quell’errore lo dice perchè non riesce a installare le dipendenze (libgcc) sul 3.0, dovrai avere pazienza che vengano portate (da saurik)

Credo che l’errore sia questo, non ti posso dare conferma, appena monto il 3.0 ci provo

si, ho messo su il firmware 3.0…e ho windows :stuck_out_tongue:

da quello che ho capito, dedicandoci pochissimo tempo (programmo solo in php/flash/xml) ho capito queste cose…

-Winspc serve per collegare l’iphone al computer (grazie al shh installato nell’iphone?)

-il terminal dell’iphone (ho usato solo quello per i comandi) serve per dare ovviamente le istruzioni (come msdos…ecc) anche se ho visto che possono essere dati in remoto (con putty?) per caso cambia qualcosa?

-ldid, è un file di sistema per l’iphone, che serve per “firmare” i programmi? codificarli? ho letto la pagina in inglese e ho cercato di tradurla…ma non ci ho capito moltissimo… ldid funziona in automatico?

-gcc non ho capito a cosa serve, ho cercato però non riesco a capire poco o nulla per l’inglese…

-make, anche se non ho letto, penso che crei o scompatti il piccolo programma per eseguirlo nell’iphone? ho visto il comando MAKE ALL, che nel mio iphone quando lo digito, compare questo (vedere l’allegato)

ma alla fine, quando digito make all si interrompe, e credo che sia per quel file di sistema non installato??

sono riuscito a fare tutti i procedimenti, anche qualcuno senza aver letto…sinceramente mi interesserebbe iniziare a programmare con sto cell, ma non sò come funziona con l’iphone…

nel senso, per quello che ho letto (pochissimo), e visto che l’inglese non lo comprendo molto bene…e da quello che ho capito, per creare un piccolo programma devo:

-svilupparlo sul computer
-montarlo nell’iphone tramite quei strumenti (come nell’esempio)

ma dopo, l’estensione per l’installazione stessa come viene creata? l’IPA (se mi ricordo) dovrà essere montata come?

grazie mille :wink:

Dunque intanto ti confermo che il problema è che saurik non ha ancora portato libgcc su 3.0. Quindi per ora non è possibile installare il compilatore su questo firmware.

Poi:

  1. Si. winscp è un client ssh, il server è openssh che hai sull’iphone

  2. Esatto. non non cambia niente. E’ come usare putty da remoto, è la stessa cosa (come una shell locale o una shell remota).

  3. ldid non è di sistema, è di terze parti (Saurik). Serve per firmare le applicazioni per iphone jailbroken. Il perchè serve lo leggi dal sito ufficiale Bypassing iPhone Code Signatures - Jay Freeman (saurik). Se non riesci a tradurlo come dici magari leggerti da questa pagina .: Suondmao’s World - iPhone iapd Reverse Engineering :. il punto Passo 3: firma :smiley:

  4. compilatore GNU Compiler Collection - Wikipedia

  5. make - Wikipedia

Ma non puoi realizzare nessun programma ancora fin quando saruik non sistemerà il problema della libgcc (hai installato il make da cydia? per questo ti dice command not found)
Un volta che avrai compilato (linkato e signato) avrai il tuo esegubile. Poi dipende quello che vuoi farci.
Se è un esegubile grafico allora dovrai mettere tutto sotto /Applications/Cartellaxxx e poi respringare, in questo modo ti comparirà l’icona sulla springboard. Se è un’estensione per mobilesubstrate andrà da un’altra parte…se è un demone in autostart andrà da un’altra parte ancora…

Ciao a tutti. Premetto che ho letto la discussione ed ho trovato la guida(in primis) molto interessante e facile da capire.
Purtroppo ,anche se ho seguito tutti i vari passaggi, l’applicazione MyApp non ne vuole sapere di funzionare. Provo sempre a lanciarla dalla shell di mobileTerm poiche’ non vedo nemmeno l’icona di MyApp ad avvenuta compilazione(senza problemi).
L’esecuzione del lancio del programma e’ sempre “Killed”.
Ringrazio tutti per le risposte che mi darete.

Dal momento che lanci il “make package” l’app viene anche copiata sotto Applications quindi dovresti per forza vederne l’icona sulla springboard dopo un respring!

Per piacere controlla da ssh se hai questa cartella: /Applications/MyApp
dovrebbe esserci e contenere l’icona e tutto il resto dell’applicazione compilata

su che firmware lavori?

Purtroppo no… La cartella MyApp è presente ed il percorso che indichi esiste…
Ho provato anche con un reboot… Ma niente da fare… :blink:
La versione del firmware è 2.2.1