Lista de certificados raiz de confianza en dispositivos iOS

Si alguna vez desarrollando una app nativa o con cordova tienes problemas de conexión con el servidor al tratar de conectar mediante https, puede ser que el certificado raiz con el que se ha firmado el certificado de tu servidor no sea de confianza.

Para comprobarlo puedes consultar las siguientes listas

Fuente

Bonus:

Si no puedes cambiar el certificado del servidor por uno confiado, pero quieres conectarte puedes usar este método ( no es recomendable usarlo en producción, sólo en desarrollo si tienes un certificado auto firmado )

@implementation NSURLRequest(DataController)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
    return YES; 
}
@end

 

Cambiar el User Agent de una UIWebView en iOS

Para cambiar el user agent de una UIWebView en iOS tan solo tenemos que usar el siguiente código:

NSDictionary *dictionario = [[NSDictionary alloc] initWithObjectsAndKeys:@”Mi user agent personalizado”, @”UserAgent”, nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionario];
Se puede usar por ejemplo para que las páginas no nos carguen la versión móvil de una web, poniendo por ejemplo el User Agent de firefox o Chrome.
También cambiaría el User Agent para phonegap, tanto para la CordovaWebView como para el InAppBrowser.
Para saber el User Agent de una UIWebView podemos usar este código:
UIWebView* webViewTemporal = [[UIWebView alloc] initWithFrame:CGRectZero];
NSString* userAgent = [webViewTemporal stringByEvaluatingJavaScriptFromString:@”navigator.userAgent”];
Esto nos puede ser útil para poder modificar el User Agent original de la UIWebView y personalizarlo como acabamos de ver. Ejemplo:
UIWebView* webViewTemporal = [[UIWebView alloc] initWithFrame:CGRectZero];
NSString* userAgent = [webViewTemporal stringByEvaluatingJavaScriptFromString:@”navigator.userAgent”];
NSString * miUserAgentPersonal = [NSString stringWithFormat:@”Mi app %@”,userAgent];
NSDictionary *dictionario = [[NSDictionary alloc] initWithObjectsAndKeys:miUserAgentPersonal, @”UserAgent”, nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionario];
De esta forma mantenemos el User Agent original pero con una pequeña modificación para detectar que se accede desde nuestra aplicación.

 

Othello Classic

Othello Classic is my first phonegap app.

This is the classic board game Othello.

The rules:

Othello is a 2 player game.

The object of the game is to have the majority of your color discs on the board at the end of the game.

Black always move first.

A move consists of “outflanking” your opponent’s disc(s), then flipping the outflanked disc(s) to your color.

If a player can’t place his disc, the game will automatically change the turn.

You can know the turn by the color of the background

My first version of the game was a game for 2 human players, but I’ve added a 1 player mode (or VS machine mode) with 2 levels of difficulty (easy and medium).

The iOS version includes online game with the Game Center Phonegap plugin I developed

You can find the iOS version here

You cand find the free Android version with a new name (Iago Classic) here