miércoles, 12 de febrero de 2014

Generar una IPA para probar en un dispositivo II

Partimos de un proyecto y un provisioning ya creado, (si no tienes esto ultimo puedes ver como crear uno en este enlace

Lo primero que tenemos que hacer es ir a las propiedades de Xcode:
Ahora tenemos que crear la cuenta:
Utilizando los datos de la cuenta que hemos usado para registrarnos como desarrolladores de Apple:

Una vez añadido vemos que somos Agent de IOS:
Y pulsando en detalles podemos ver los provisioning que tiene asociados:

Ahora es el momento de configurar el proyecto:

Para ello elegimos en la pestaña General el TEAM correspondiente a nuestra cuenta y como Bundle identifier el que corresponde a nuestra aplicación creada en el portal de desarrollo.
En la pestaña build settings tenemos que elegir el provisioning profile y el code signing Identity:
Que corresponden con los certificados creados en el post anterior

Ya tenemos todo configurado y podemos generar la IPA. para ello elegimos como destino del proyecto un dispositivo físico, no es necesario que esté conectado:

Y generamos el archivo:
Nos preguntará por el certificado necesario para firmar:
Y nos abrirá la ventana del Organizer con el archivo generado:
Desde aquí podremos generar la ipa con el botón "Distribute", eligiendo el tipo Ad Hoc:
Seleccionando el provisioning profile:
Y por último poniendo nombre al fichero:


Con esto tenemos una archivo con nuestra aplicación, firmado y listo para ser probado en los dispositivos seleccionados:

Para pasarlo al dispositivo se puede utilizar Itunes o i-funbox 
El proceso en este ultimo es tan fácil como conectar el dispositivo y pinchar en la opción de "Instalar Aplicación"


Con eso tendremos la aplicación en nuestro dispositivo lista para probar.










Generar una IPA para probar en un dispositivo I

Vamos a la web de desarrolladores de apple [enlace]



Una vez que nos hemos validado, lo primero que tenemos que hacer es generar un certificado:
Elegimos el tipo de Producción
que nos permitirá elegir ad Hoc.

Ahora tenemos que abrir la utilidad "Llaveros"

Y tenemos que solicitar un certificado a una autoridad

Rellenamos los datos:
Y guardamos el fichero:
Ahora volvemos a la página y vamos a continuar el proceso:
Seleccionamos el fichero:
Y una vez generado descargamos el certificado:


Ahora el siguiente paso es generar la aplicación:
Introducimos la descripción y el bundle ID:
Y confirmamos los datos:
Ya tenemos la aplicación.
Ahora vamos a dar de alta los dispositivos sobre los que se quiere probar:
Introducimos el nombre y el udid, este parametro es lo importante pues sino la IPA no funcionará. Para obtenerlo podemos hacerlo mediante itunes (http://www.innerfence.com/howto/find-iphone-unique-device-identifier-udid) o mediante una web (get.udid.io)
Y vemos que se ha generado correctamente:



El ultimo paso es generar el provisioning profile
Elegimos el tipo Ad hoc
Elegimos la aplicación de entre las existentes:
Y elegimos el certificado a utilizar entre los existentes:
Por ultimo elegimos los dispositivos sobre los que queremos interacturar:
Le ponemos un nombre y ya lo podemos descargar:


Con esto tenemos lo necesario para ir al XCODE y generar la IPA y poder probar desde un dispositivo real, puedes ver como hacerlo en [enlace]:

martes, 11 de febrero de 2014

Subir una aplicacion al google play

Lo primero que necesitamos es tener una cuenta de desarrollador y haber pagado la cuota (25 dolares, cuando se hizo este post).

Lo primero es crear una nueva aplicación

Rellenamos el nombre y el idioma:


Una vez creada ir al apartado APK




Y pulsar sobre "Subir nuevo APK de producción"


Ahora es momento de ir a Eclipse
Con el proyecto abierto pulsamos botón derecho y nos vamos a la opción "Android tools"->Export Signed Application Package

Indicamos el proyecto y pulsamos Next.


Ahora tenemos que elegir un keystore o crear uno nuevo.
Por se la primera vez vamos a crear uno.

Una vez creado seguimos con la key.

Y por ultimo nos indica donde queremos guardar el fichero APK.



Una vez que tenemos el fichero podemos volver al play store y proceder a subir el archivo.
Una vez subido nos aparece un resumen de la versión subida, que dispositivos soportan  y estamos listos para poder publicarla*.

*para poder publicar es necesarios ademas preparar la ficha de la aplicación, con las capturas de pantalla y los textos de descripción.







jueves, 29 de agosto de 2013

Mostrar una vista modal de izquierda a derecha

Para abrir la ventana
CATransition *transition = [CATransition animation];
transition.duration = 0.3;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromRight;
[self.view.window.layer addAnimation:transition forKey:nil];
[self presentModalViewController:viewCtrl animated:NO];



Para cerrar la ventana cambiamos la llamada:

[self presentModalViewController:viewCtrl animated:YES];


Por


CATransition *transition = [CATransition animation];
transition.duration = 0.3;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromRight;
[self.view.window.layer addAnimation:transition forKey:nil];

[self presentModalViewController:viewCtrl animated:NO];

miércoles, 28 de agosto de 2013

Poner una imagen en un control UIPickerView

Hay que utilizar este metodo en lugar del que solo devuelve el texto.

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{
     NSString *t=@"";
     UIView *tmpView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 280, 32)];
    UILabel *channelLabel = [[UILabel alloc] initWithFrame:CGRectMake(30, 0, 250, 25)];
             t=def.funciones[row];
               UIImage *img = [UIImage imageNamed:@"Nombredelaimagen"];
             UIImageView *temp = [[UIImageView alloc] initWithImage:img];
             temp.frame = CGRectMake(0, 0, 25, 25);
                [tmpView insertSubview:temp atIndex:0];
     channelLabel.text = @"El texto que quieres";
    [channelLabel adjustsFontSizeToFitWidth];
    channelLabel.textAlignment = UITextAlignmentLeft;
    channelLabel.backgroundColor = [UIColor clearColor];
    [tmpView insertSubview:channelLabel atIndex:0];
   
    return tmpView;


}

Como detectar el dispositivo y el idioma

Para detectar el idioma:
NSString *locale = [[NSLocale currentLocale] localeIdentifier]; // en_US

Para detectar el dispositivo:
 if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
        if (altopantalla == 568)
        {
            //es un iphone 5
            
        }
        else
        {
            //es un iphone
            
        }
    } else {
       //es un ipad
    }

miércoles, 1 de mayo de 2013

Generar certificado APNS

To generate a certificate on a Mac OS X:
  1. Log-in to the iPhone Developer Program Portal
  2. Choose App IDs from the menu on the right (or click here)
  3. Create an App ID without a wildcard. For example 3L223ZX9Y3.com.armiento.test
  4. Click the Configure link next to this App ID and then click on the button to start the wizard to generate a new Development Push SSL Certificate (Apple Documentation: Creating the SSL Certificate and Keys)
  5. Download this certificate and double click on aps_developer_identity.cer to import it into your Keychain
  6. Launch Keychain Assistant (located in Application, Utilities or search for it with Spotlight) and click on My Certificates on the left
  7. Expand Apple Development Push Services and select Apple Development Push Services AND your private key (just under Apple Development Push Services)
  8. Right-click and choose "Export 2 elements..." and save as server_certificates_bundle_sandbox.p12 (don't type a password).
  9. Open Terminal and change directory to location used to save server_certificates_bundle_sandbox.p12 and convert the PKCS12 certificate bundle into PEM format using this command (press enter when asked for Import Password):
  10. openssl pkcs12 -in server_certificates_bundle_sandbox.p12 -out server_certificates_bundle_sandbox.pem -nodes -clcerts