he conseguido un iphone

Re: he conseguido un iphone

Postby Antonio Linares » Tue Oct 19, 2010 3:11 pm

Reemplazando los ficheros de cabecera en los que da error por los de la versión 3.2, entonces lo compila :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: he conseguido un iphone

Postby mastintin » Tue Oct 19, 2010 3:16 pm

Antonio , me estoy bajando el sdk del 4.1 ( me quedé en el del 3.1 ) y como son varios gb está tardando algo , en cuanto tenga los archivos en su sitio intento cogerte .... ( no creo que me de tiempo hoy , pues mas tarde tengo lio)

-------------------- edito -----------------
he visto justo ahora el mensaje anterior ...creo que debemos recapitular que archivos y versiones se necesitan .
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: he conseguido un iphone

Postby Antonio Linares » Tue Oct 19, 2010 4:00 pm

Manuel,

Creo que habria que hacer una prueba con la 3.2 completa, basándonos en que el ejemplo de esa web a ti te ha funcionado bien.

He conseguido construir un EXE (minimo) completo y arranca, aunque de momento no hace nada. Voy a poner aqui el código que he usado (el iphone me anda dando errores de conexion wifi...)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: he conseguido un iphone

Postby Antonio Linares » Tue Oct 19, 2010 4:04 pm

ios.m
Code: Select all  Expand view
#import <UIKit/UIKit.h>                                                        
#define HB_DONT_DEFINE_BOOL                                                    
#include <hbapi.h>                                                              
#include <hbvm.h>                                                              
                                                                               
static NSAutoreleasePool * pool;                                                
                                                                               
HB_FUNC( CREATEPOOL )                                                          
{                                                                              
   pool = [ [ NSAutoreleasePool alloc ] init ];                                
}                                                                              
                                                                               
HB_FUNC( CREATEAPP )                                                            
{                                                                              
   UIApplicationMain( 0, nil, @"MainApp", @"MainApp" );                        
}        

@interface MainApp : UIApplication                                              
{                                                                              
}                                                                              
@end                                                                            
                                                                               
@implementation MainApp                                                        
- ( void ) applicationDidFinishLaunching : ( UIApplication * ) application      
{                                                                              
   PHB_SYMB symMain = hb_dynsymSymbol( hb_dynsymFindName( "MAIN" ) );          
                                                                               
   hb_vmPushSymbol( symMain );                                                  
   hb_vmPushNil();                                                              
   hb_vmDo( 0 );                                                                
                                                                               
   exit( 0 );                                                                  
}                                                                              
@end  
 


hello.prg
Code: Select all  Expand view
function Main()                                                                
                                                                               
   ? "Hello world from iOS"                                                    
                                                                               
return nil                                                                      
                                                                               
init procedure start                                                            
                                                                               
   CreatePool()                                                                
   CreateApp()                                                                  
                                                                               
return            
 

Puede ser que no se vea nada al arrancar la aplicación porque al crear el pool estamos en modo GUI... no se...

se puede terminar la aplicación haciendo killall hello desde otra ventana de terminal
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: he conseguido un iphone

Postby Antonio Linares » Tue Oct 19, 2010 4:14 pm

Y modificar esto en build.sh:

Code: Select all  Expand view

echo linking...                                                                
gcc $1.o ios.o -o $1 -F/usr/include -L./../lib -L./../../harbour/harbour/harbour
/lib/darwin/gcc -lhbdebug -lhbvm -lhbrtl -lhblang -lhbrdd -lgttrm -lgtstd -lhbrt
l -lhbvm -lhbmacro -lrddntx -lrddcdx -lrddfpt -lhbsix -lhbcommon \              
    -framework CoreFoundation \                                                
    -framework Foundation \                                                    
    -framework UIKit \                                                          
    -framework CoreGraphics        
 
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: he conseguido un iphone

Postby mastintin » Tue Oct 19, 2010 8:38 pm

En modo consola el hello.prg compila sin problemas .
Eso si para el harbour que tenemos es este mismo hilo tenemos que cambiar los path del build.sh
Code: Select all  Expand view

 
clear
 
if [ $# = 0 ]; then
   echo syntax: ./build.sh file [options...]
   exit
fi
echo compiling...
./../../harbour/bin/harbour $1 -n -I./../../harbour/include $2
if [ $? = 1 ]; then
   exit
fi  
echo compiling C module...
gcc $1.c -c -I./../../harbour/include
echo linking...
gcc $1.o -o $1 -L./../lib -L./../../harbour/lib -lhbdebug -lhbvm -lhbrtl -lhblang -lhbrdd -lgttrm -lgtstd -lhbrtl -lhbvm -lhbmacro -lrddntx -lrddcdx -lrddfpt -lhbsix -lhbcommon
rm $1.c
rm $1.o
 
echo done!
 
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: he conseguido un iphone

Postby mastintin » Tue Oct 19, 2010 8:51 pm

Estoy parado en la compilacion de ios.m .

He puesto los frameworks del ios3.2 ...

y me da todos estos errorres :

Code: Select all  Expand view

iPhone-de-manuel:~/harbour/samples root# gcc -c -I./../../harbour/include -F/usr/include ios.m
In file included from /usr/include/UIKit.framework/Headers/UIResponder.h:10,
                 from /usr/include/UIKit.framework/Headers/UIView.h:9,
                 from /usr/include/UIKit.framework/Headers/UIActivityIndicatorView.h:8,
                 from /usr/include/UIKit.framework/Headers/UIKit.h:11,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIEvent.h:30: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIEvent.h:31: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIView.h:9,
                 from /usr/include/UIKit.framework/Headers/UIActivityIndicatorView.h:8,
                 from /usr/include/UIKit.framework/Headers/UIKit.h:11,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIResponder.h:40: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIResponder.h:58: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIResponder.h:59: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIActivityIndicatorView.h:8,
                 from /usr/include/UIKit.framework/Headers/UIKit.h:11,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIView.h:190: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIView.h:220: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIApplication.h:13,
                 from /usr/include/UIKit.framework/Headers/UIKit.h:13,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIDevice.h:67: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIDevice.h:68: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIDevice.h:69: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIDevice.h:71: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIDevice.h:72: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIDevice.h:74: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:13,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIApplication.h:161: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:17,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIButton.h:86: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIButton.h:87: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIDocumentInteractionController.h:12,
                 from /usr/include/UIKit.framework/Headers/UIKit.h:23,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIViewController.h:134: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIViewController.h:135: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIViewController.h:137: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIImagePickerController.h:9,
                 from /usr/include/UIKit.framework/Headers/UIKit.h:30,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UINavigationController.h:88: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UINavigationController.h:90: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UINavigationController.h:116: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:30,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIImagePickerController.h:60: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIImagePickerController.h:64: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIImagePickerController.h:65: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIImagePickerController.h:68: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIImagePickerController.h:69: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIImagePickerController.h:70: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:31,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIImageView.h:23: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIImageView.h:26: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIImageView.h:31: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:36,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIMenuController.h:38: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIMenuController.h:40: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:37,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UINavigationBar.h:56: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:46,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIPopoverController.h:114: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIPopoverController.h:118: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:50,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIScreen.h:36: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIScreen.h:37: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:52,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIScrollView.h:159: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UIScrollView.h:196: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:53,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UISearchBar.h:57: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UISearchBar.h:58: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UISearchBar.h:62: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UISearchBar.h:69: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UISearchBar.h:70: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UISearchBar.h:71: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:62,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UITabBarController.h:69: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UITableView.h:11,
                 from /usr/include/UIKit.framework/Headers/UIKit.h:64,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UITableViewCell.h:137: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UITableViewCell.h:139: warning: 'weak_import' attribute ignored
/usr/include/UIKit.framework/Headers/UITableViewCell.h:140: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:64,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UITableView.h:324: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:66,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UITableViewController.h:29: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:71,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UITextView.h:88: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:72,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIToolbar.h:45: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:73,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UITouch.h:55: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:77,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIWebView.h:54: warning: 'weak_import' attribute ignored
In file included from /usr/include/UIKit.framework/Headers/UIKit.h:78,
                 from ios.m:1:
/usr/include/UIKit.framework/Headers/UIWindow.h:60: warning: 'weak_import' attribute ignored
iPhone-de-manuel:~/harbour/samples root#


 
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: he conseguido un iphone

Postby mastintin » Tue Oct 19, 2010 9:38 pm

Solucionado Cambiando el uikit.framework 3.2 de sdk de desarrollo por el proporcionado por el blog ....( sin los includes )
ya me ha compilado ios.m ...
paso al ejemplo hello en modo "gui" ...
intento compilar y me manda unos errores que aparentemente son del build.sh ...
mi build.sh
Code: Select all  Expand view

# ./build.sh
 
clear
 
if [ $# = 0 ]; then
   echo syntax: ./build.sh file [options...]
   exit
fi
echo compiling...
./../../harbour/bin/harbour $1 -n -I./../../harbour/include $2
if [ $? = 1 ]; then
   exit
fi  
echo compiling C module...
gcc $1.c -c -I./../../harbour/include
echo linking...
 gcc $1.o ios.o -o $1 -F/usr/include -L./../lib -L./../../harbour/lib -lhbdebug -lhbvm -lhbrtl -lhblang -lhbrdd -lgttrm -lgtstd -lhbrtl -lhbvm -lhbmacro -lrddntx -lrddcdx -lrddfpt -lhbsix -lhbcommon -framework CoreFoundation -framework Foundation -framework UIKit -framework CoreGraphics  
rm $1.c
rm $1.o
 
echo done!
 


la consola :
Code: Select all  Expand view

iPhone-de-manuel:~/harbour/samples root# ./build.sh hello
: command not found:
: command not found:
: command not found: clear
: command not found:
./build.sh: line 65: syntax error near unexpected token `fi'
'
/build.sh: line 65: `fi  
iPhone-de-manuel:~/harbour/samples root# ./build.sh hello
: command not found:
: command not found:
: command not found: clear
: command not found:
./build.sh: line 65: syntax error near unexpected token `fi'
'
/build.sh: line 65: `fi  
iPhone-de-manuel:~/harbour/samples root#

 
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: he conseguido un iphone

Postby mastintin » Tue Oct 19, 2010 9:52 pm

Solucionado el problema del build.sh .... ahora compila y me tira estos errores:
Code: Select all  Expand view

compiling...
Harbour 2.1.0beta2 (Rev. 15642)
Copyright (c) 1999-2010, http://harbour-project.org/
Compiling 'hello.prg'...
Lines 12, Functions/Procedures 2
Generating C source output to 'hello.c'... Done.
compiling C module...
linking...
Undefined symbols:
  "_HB_FUN_CREATEPOOL", referenced from:
      _symbols_table in hello.o
  "_HB_FUN_CREATEAPP", referenced from:
      _symbols_table in hello.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
done!
iPhone-de-manuel:~/harbour/samples root#

 


Es como que no enlaza el ios.o con el resto de la aplicacion ....

por otro lado puede que se tenga que cambiar algo en el build.sh

gcc $1.o ios.o -o ./$1.app/$1 -F/usr/include ............

He investigado tambien el tema de crear archivos ipa con las aplicaciones generadas .
He cogido una aplicacion de iphone que realice para probar con el xcode y artesanalmente me he construido un archivo ipa de la aplicación .
Ahora el instalarla es tan facil como arrastrarla al itunes y sincronizar . Mañana voy a intentarlo con la aplicacion que generé con el ejemplo del blog a ver que me dice .
Por hoy lo dejo . Gracias por todo el interes que estas poniendo en este proyecto y a ver si alguien mas se anima.
Saludos.
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: he conseguido un iphone

Postby Antonio Linares » Tue Oct 19, 2010 11:14 pm

He recordado que en las versiones recientes del iOS ya no es posible lanzar una aplicación gráfica desde el terminal y que ha de ser lanzada desde su desktop GUI (springboard).

De ahi que sea muy interesante el poder generar la aplicación y que se muestre en el springboard y que desde ahí la ejecutemos. Lo que estas investigando es muy util :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: he conseguido un iphone

Postby Antonio Linares » Tue Oct 19, 2010 11:36 pm

Manuel,

Ya que tenemos las librerias de Harbour para el iOS, ahora resulta muy fácil construir desde Mac usando el Harbour para Mac y enlazando con las librerias de Harbour-iOS :-)

Descarga el proyecto FivePhone desde http://code.google.com/p/fivephone/ y usa samples/buildmac.sh para construir. Ha hecho el ejecutable a la primera :-)

Ahora solo falta copiarlo al iPhone/iPad en un formato que nos permita lanzarlo desde el springboard...
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: he conseguido un iphone

Postby mastintin » Wed Oct 20, 2010 6:48 am

De momento y hasta tener algo mas "concreto" unba forma de acerlo , y que funciona es usar el appinstall que viene con el ejemplo del blog ... creas una carpeta en el iphone ( la tengo en ~ ) y colocas en ella el appinstall y la aplicacion , en terminal :
./appinstall nombreapp y ya la tienes instalada para funcionar . Eso si no la puedes gestionar con el iTunes ... pero en eso estoy ahora mismo . Al medio dia cuando este en casa con mi mac intento lo de compilar con fivephone ...
Saludos.
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: he conseguido un iphone

Postby Antonio Linares » Wed Oct 20, 2010 6:51 am

Manuel,

Lo he probado con el appinstall y se instala pero no consigo que funcione tutor01

Algo debe estar mal en el Info.plist o en la aplicación en si...
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: he conseguido un iphone

Postby mastintin » Wed Oct 20, 2010 7:22 am

como intento , he creado un ipa con el programa de ejemplo del blog que he creado desde el iphone y que funciona .
En el itunes se coloca sin problema , no se si instala en el iphone , ya que este itunes no es con el que sincronizo y no quiero liar una buena . Si tu tienes manera de probar te paso el ipa en este enlace .
http://rapidshare.com/files/426110106/TabBar.ipa
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: he conseguido un iphone

Postby mastintin » Wed Oct 20, 2010 7:42 am

Esto es el info.plist del ejemplo que funciona .... cambialo en tutor.app a ver si va :
Code: Select all  Expand view

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleDisplayName</key>
    <string>TabBarSample</string>
    <key>CFBundleExecutable</key>
    <string>TabBarSample</string>
    <key>CFBundleIconFile</key>
    <string></string>
    <key>CFBundleIdentifier</key>
    <string>com.yourcompany.iphone.TabBarSample</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>TabBarSample</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>1.0</string>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>UIDeviceFamily</key>
    <array>
        <string>1</string>
        <string>2</string>
    </array>
</dict>
</plist>
 
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

PreviousNext

Return to FiveMac / FivePhone (iPhone, iPad)

Who is online

Users browsing this forum: No registered users and 1 guest