Creare applicazione per iPhone senza avere mac ne hackintosh

mi elenchi tutti i file che hai sotto /Applications/MyApp?

/Applications/MyApp.app/:

-Default.png
-Icon.png
-Info.plist
-MyApp

questo è il risultato della compilazione:


iPhone-di-Proprietario:/MyApp root# make package
/usr/bin/gcc -c -fsigned-char -g -ObjC -fobjc-exceptions -Wall -Wundeclared-selector -Wreturn-type -Wnested-externs -Wredundant-decls -Wbad-function-cast -Wchar-subscripts -Winline -Wswitch -Wshadow -I/var/include -I/var/include/gcc/darwin/4.0 -D_CTYPE_H_ -D_BSD_ARM_SETJMP_H -D_UNISTD_H_  main.m -o main.o
/usr/bin/gcc -c -fsigned-char -g -ObjC -fobjc-exceptions -Wall -Wundeclared-selector -Wreturn-type -Wnested-externs -Wredundant-decls -Wbad-function-cast -Wchar-subscripts -Winline -Wswitch -Wshadow -I/var/include -I/var/include/gcc/darwin/4.0 -D_CTYPE_H_ -D_BSD_ARM_SETJMP_H -D_UNISTD_H_  MyAppDelegate.m -o MyAppDelegate.o
/usr/bin/gcc -lobjc -F/System/Library/Frameworks -framework CoreFoundation -framework Foundation -framework UIKit -framework CoreGraphics -L/usr/lib -lc /usr/lib/libgcc_s.1.dylib -bind_at_load -multiply_defined suppress -o MyApp main.o MyAppDelegate.o
/usr/bin/ldid -S MyApp
rm -fr /Applications/MyApp.app
mkdir -p MyApp.app
cp MyApp MyApp.app/MyApp
cp Info.plist MyApp.app/Info.plist
cp Default.png MyApp.app/Default.png
cp Icon.png MyApp.app/Icon.png
rm -rf *.o MyApp
mv MyApp.app /Applications/MyApp.app

Damn… :cursing:

Scusami per il disturbo…
Finalmente ho risolto…
Ho letto su di un’altro forum che su Cydia era presente un programma per il respring(Respring appunto) diverso dal mio(io utilizzavo iReboot)…
Installato quello e “respringando” è comparsa l’icona di MyApp… :cursing:

Non so se hai mai avuto a che fare con tale appl. ma sarei curioso di sapere la differenza nei due respring…
Comunque ti ringrazio per l’aiuto e la pazienza!

OT:
Per esperienza personale chiunque avesse come me un problema sulla visualizzazione delle applicazioni(anche con corretta compilazione) si installi Respring…
Una vera panacea per ogni male.:rolleyes:

E’ strano comunque, anche perchè con il reboot che hai fatto sarebbe douta apparire.
Ad ogni modo io ho sempre usato SBsetting per fare il respring :D.

Ho risolto il problema (era come pensavo) e aggiornato la guida, ora funziona anche su 3.x
http://www.iphoneitalia.com/forum/dev-center-community/11494-creare-applicazione-per-iphone-senza-avere-mac-ne-hackintosh.html#post86803

argh…crea l’icona e non da problemi ma…crasha l’app :frowning:

Ancora una curiosità…

A parte il fatto che ancora mi riesce impossibile creare app GUI perchè crashano,quelle a riga di comando vanno. O meglio,seguendo il tuo tutorial,l’applicazione funziona,e con essa,anche altri codici C che è sufficiente inserire nel file .C del progetto.

Quel che mi chiedo,sapendo che tu produci solo applicazioni a riga di comando,è: le sviluppi in c e le fai interagire col sistema? :S o usi in qualche maniera diversa da quella da te spiegata nel tutorial,cocoa?

Scusa la rompitura ma ci tengo sul serio,e ho provato source su source,ma non funzionano i vari helloworld…l’app cè,ma crasha. (si,ho provato tutti e tre i metodi per “autenticarla”).

inoltre ho visto che tu per quella cosa del doppio tap,mi passavi una “dinamic library”,e lo stesso cè nel .deb per esempio,di altri vari programmi su cydia che moddano il sistema senza installare icone o impostazioni (li ho estratti manualmente dal .deb per vedere cosa c’era,e si presentavano solo file .dylib)…sempre in C questo lavoro? e come si complilano file dylib?

Devi usare il mobilesubstrate.
E’ cosi che puoi programare componenti che interagiscono con il fw ed è un misto tra C o obj.
Non esiste documentazione ufficiale sul mobielsubtrate, trovi solo esempi in rete e sul sito di saurik, potrei segnalarti qualche link ma ora sono di fretta, dai almeno un occhio qui: http://www.iphoneitalia.com/forum/dev-center-community/12353-springboard-hooking.html

grazie sei sempre molto gentile :slight_smile:

Salve, volevo sapere come poter estrarre i file header dall SDK, e in quale cartella andavano messi…? sempre e solo in /var/include ?
Ho un iphone 3gs con il 3.01 ed ho installato la fake libgcc, gcc compiler, il pacchetto make e ldid… il problema è che non mi compila e mi da questo errore… cosa potrebbe essere…?

iPhone:/hello root# make all
/usr/bin/gcc -lobjc -F/System/Library/Frameworks -framework CoreFoundation -framework Foundation -framework UIKit -framework CoreGraphics -L/usr/lib -lc /usr/lib/libgcc_s.1.dylib -bind_at_load -multiply_defined suppress -o hello hello.o
ld: library not found for -lobjc
collect2: ld returned 1 exit status
make: *** [hello] Error 1

grazie!

Salve,
anche io ho lo stesso problema:
non mi compila “hello”
ld: library not found for -lobjc
collect2: ld returned 1 exit status
make: *** [hello] Error 1

provando non mi compila nemmeno “MyApp”

Ho un iphone 3gs firmware 3.1.2 , ho installato fake_libgcc, gcc compiler, ldid and make, ho inoltre inserito in /private/var/include gli header dell’sdk 2.2 poiche’ non saprei come estrerre gli header del 3.1.2
potete darmi una mano per proseguire?
grazie mille ciao :slight_smile:

Ci sono riuscito, ho compilato sul mio iphone 3gs OS 3.1.2 il programma HelloWorld, anche se ho dovuto modificare a mano il makefile

quale era il problema per il ld: library not found for -lobjc?

Comuqnue qui trovi header aggiornati: iPhone Software Development: How to compile mobilesubstrate extension in iPhone gcc for OS 3.0
(c’è il link a un pacchetto chiamato sys30.tgz da 96mb)

@Bemme

Ciao, cosa hai cambiato sul Makefile??

iPhone-di-xxx:/hello root# make all

/usr/bin/gcc -lobjc -F/System/Library/Frameworks -framework CoreFoundation -framework Foundation -framework UIKit -framework CoreGraphics -L/usr/lib -lc /usr/lib/libgcc_s.1.dylib -bind_at_load -multiply_defined suppress -o hello hello.o
gcc: /usr/lib/libgcc_s.1.dylib: No such file or directory
make: *** [hello] Error 1

Potete aiutarmi a capire cosa non va ?

Grazie

zampar hai installato il pacchetto fake_libgcc oppure il libgcc vero ( http://apt.saurik.com/debs/libgcc_4.2-20080410-1-6_iphoneos-arm.deb ) ?

dovresti avere vari file libgcc_xxxxx.dylib sotto /usr/lib/

Ho installato in ordine:

ldid
fake-libgcc_1.0 dal link sulla prima pagina
gcc
make

ho copiato gli include della 2.2 (anche se ho un 3.1.2)

Grazie per il feedback!

A proposito:

ho un 32GS
32 GB
OS 3.1.2
Jail

Adesso ho provato a installare il libgcc vero dal link di Saurik e il risultato è questo:

iPhone-di-Enrico:/hello root# make all
/usr/bin/gcc -c -fsigned-char -g -ObjC -fobjc-exceptions -Wall -Wundeclared-selector -Wreturn-type -Wnested-externs -Wredundant-decls -Wbad-function-cast -Wchar-subscripts -Winline -Wswitch -Wshadow -I/var/include -I/var/include/gcc/darwin/4.0 -D_CTYPE_H_ -D_BSD_ARM_SETJMP_H -D_UNISTD_H_ hello.c -o hello.o
/usr/bin/gcc -lobjc -F/System/Library/Frameworks -framework CoreFoundation -framework Foundation -framework UIKit -framework CoreGraphics -L/usr/lib -lc /usr/lib/libgcc_s.1.dylib -bind_at_load -multiply_defined suppress -o hello hello.o
ld: library not found for -lobjc
collect2: ld returned 1 exit status
make: *** [hello] Error 1

Già un altro utente aveva quel problema, poi risolto da bemme modificando il makefile, ma personalmente non so in che modo…
mi dispiace non so aiutarti