Page 7 of 43

Re: he conseguido un iphone

PostPosted: Fri Oct 22, 2010 12:40 am
by Daniel Garcia-Gil
Antonio


si me lo imagino, pero todo sea por aportar

Re: he conseguido un iphone

PostPosted: Fri Oct 22, 2010 1:11 am
by Antonio Linares
Daniel,

Cuantos más seamos intentándolo, más posibilidades de que lo consigamos :-)

A ver si finalmente podemos desarrollar con Harbour para el iPhone/iPad/AppleTV :-)

Re: he conseguido un iphone

PostPosted: Fri Oct 22, 2010 1:16 am
by Daniel Garcia-Gil
Antonio

Siempre trato de estar atento...

(esto continua construyendo...)

Re: he conseguido un iphone

PostPosted: Fri Oct 22, 2010 1:23 am
by Antonio Linares
Manuel,

Funcionando!!! :-)

Faltaba la ventana!!!

He modificado el código fuente de windows.m de esta forma: (cambios muy rápidos para que compilase bien)
Code: Select all  Expand view

#import <UIKit/UIKit.h>
#define HB_DONT_DEFINE_BOOL
#include <hbapi.h>
 
void SetWndMain( UIWindow * window );
 
HB_FUNC( CREATEWINDOW )
{
   UIWindow * window = [ UIWindow alloc ];
   // float color[ 4 ] = { 0, 0, 0.63, 1 }; // R, G, B, Alpha
 
   // [ window setView : [ [ UIView alloc ] initWithFrame : [ window bounds ] ] ];
   [ window setBackgroundColor: [ UIColor greenColor ] ];
 
   hb_retnl( ( LONG ) window );
}
 
HB_FUNC( WNDACTIVATE )
{
   UIWindow * window = ( UIWindow * ) hb_parnl( 1 );
 
   SetWndMain( window );  
 
   // [ window orderFront : nil ];
   [ window makeKeyAndVisible ];
}              
 
HB_FUNC( WNDCLOSE )
{
   UIWindow * window = ( UIWindow * ) hb_parnl( 1 );
 
   [ window release ];
}                                  
 

Ojo que el make está mal y le falta compilar y meter en la librería windows.o
Code: Select all  Expand view

./lib/libfivec.a : ./objc/mainapp.o ./objc/uikit.o ./objc/msgs.o ./objc/windows.o
    $(LM) -static -o ./lib/libfivec.a ./objc/mainapp.o ./objc/uikit.o ./objc/msgs.o ./objc/windows.o
 

Y el PRG que he probado es tutor02.prg con un MsgInfo() al final:
Code: Select all  Expand view

function Main()

   local oWnd := TWindow():New()

   oWnd:Activate()
   
   MsgInfo( "Hello world!" )
   
return nil
 

Finalmente he metido el ejecutable en TabBarSample y le he hecho chmod +x TabBarSample y tambien ldid -S TabBarSample

Posiblemente fallen un montón de cosas aún, pero ya está aqui :-)
Image

Re: he conseguido un iphone

PostPosted: Fri Oct 22, 2010 2:08 am
by Antonio Linares
Image

Re: he conseguido un iphone

PostPosted: Fri Oct 22, 2010 3:29 am
by Daniel Garcia-Gil
...

Hasta aqui llegue... el iphone no continua pues se reinicia cada vez que llega a este punto

en este link esta lo que logro construir

http://www.sitasoft.net/fivemac/iphone/files/hrbiphone.zip


cuando ejecuto harbour sigue aparenciendo KILLED!!!


Image
Image

Re: he conseguido un iphone

PostPosted: Fri Oct 22, 2010 8:20 am
by mastintin
Antonio , felicidadesssssss :D :o .
¿ Currando a las 4:05 ? ¿ No duermes ? :)
Ya se ha empezado a cortar el melon .
A ver si podemos solucionar lo de Daniel para que pueda hechar un cable . Me da que tiene que ser un problema con la forma de compilar del gcc , agun modificador o algo asi . -arm e vez arm6 o cosa similar , estoy investigando el tema ...
Saludos.

Re: he conseguido un iphone

PostPosted: Fri Oct 22, 2010 9:00 am
by mastintin
He encontrado esto :
http://code.google.com/p/iphone-gcc/issues/detail?id=2
no se si será lo mismo ( mi ingles es pesimo ) pero suena muy parecido.
Saludos.

Re: he conseguido un iphone

PostPosted: Fri Oct 22, 2010 9:10 am
by Antonio Linares
Daniel,

Prueba a hacer ldid -S harbour (solo una vez) y luego ejecuta harbour

Parece que en esa versión de Cydia y jailbreak no se esté haciendo de forma automática.

En iOS 4.1 no es necesario usar ldid -S ... pues parece que el jailbreak anula la comprobación del firmado de las aplicaciones. Yo solo le hago chmod +x ... para que la aplicación sea ejecutable.

Re: he conseguido un iphone

PostPosted: Fri Oct 22, 2010 11:01 am
by mastintin
unas notas sobre los ipas...
1.-Es un zip renombrado
2.- en su interior una carpeta llamada Payload ( ojo con las mayusculas , que es case sensitive) . dentro de esta carpeta se encuentra el ejecutable ( carpeta app)
3.El archivo iTunesArtwork es realmente un archivo jpg o png de 512x512 de resolución . No se si tiene importancia , pero el perfil de color que lleva incrustado es Apple iTunes color ( nunca lo he visto antes ) . Para crear nuestro propio Artwork , con photoshop y una plantilla de boton es bastante facil.
para el que quiera aumentar conocimientos en todo lo que se refiere a iconos para ios ...http://www.cutelittlefactory.com/articles/designing-iphone-icons/ y http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/IconsImages/IconsImages.html

Saludos.

Re: he conseguido un iphone

PostPosted: Fri Oct 22, 2010 12:06 pm
by Antonio Linares
Manuel,

Ando intentando captar un "touch" event. En principio, puesto que UIWindow deriva de UIView y este de UIResponder, seria suficiente con derivar una clase Window a partir de UIWindow e implementar (redefinir) touchesBegan.

Sin embargo lo he probado ya de un montón de maneras distintas y sin éxito por el momento...

Re: he conseguido un iphone

PostPosted: Fri Oct 22, 2010 12:19 pm
by Antonio Linares
Funcionando !!! :-D

Me faltaba darle el area correcta:
Code: Select all  Expand view
void MsgInfo( NSString * );
 
@interface Window : UIWindow
{
}
- ( void ) touchesBegan : ( NSSet * ) touches withEvent : ( UIEvent * ) event;
@end
 
@implementation Window
- ( void ) touchesBegan : ( NSSet * ) touches withEvent : ( UIEvent * ) event
{
   MsgInfo( @"touch!" );  
}
@end

HB_FUNC( CREATEWINDOW )
{
   Window * window = [ [ Window alloc ] initWithFrame : [ [ UIScreen mainScreen ] bounds ] ];
 
   window.backgroundColor = [ UIColor greenColor ];
 
   hb_retnl( ( LONG ) window );
}
 

Image

Re: he conseguido un iphone

PostPosted: Fri Oct 22, 2010 1:18 pm
by mastintin
Antonio ya tengo tus ejemplos funcionando sin problemas .
Dos cosas :
El msginfo que tengo me sale sin el boton y aqui no veo su codigo ...
No necesitamos ( por lo menos con el 4.1) usar el ldid , funciona directamente ...

por cierto anoto aqui la guia de referencia para tenerla siempre presente : http://developer.apple.com/library/ios/navigation/index.html
Saludos
------------------------ edito para -------------------
Apppath()
funcionando .
Image

Re: he conseguido un iphone

PostPosted: Fri Oct 22, 2010 1:48 pm
by Antonio Linares
Manuel,

Añadiendo este @"OK" (msgs.m) aqui te aparece el botón:

Code: Select all  Expand view

void MsgInfo( NSString * text )
{
   UIAlertView * alert = [ [ UIAlertView alloc ] initWithTitle : @"Information"
                         message : text delegate : GetApp()
                         cancelButtonTitle : @"OK" otherButtonTitles : nil ];  
                         
  [ alert show ];
  [ alert autorelease ];                        
}
 

Re: he conseguido un iphone

PostPosted: Fri Oct 22, 2010 2:11 pm
by Massimo Linossi
Sorry if I write in English :oops:
You can make programming for the Iphone only if you jailbreak it ?
Massimo.
P.S. You are making an incredible work :P :P :P