Soy capaz de abrir un URL en Safari mediante:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"www.myurl.com"]];

Funciona bien, pero tarda más de 10 segundos en el Simulador. He intentado poner este código en el interior de la aplicación del delegado didFinishLauchingWithOptions método o mi punto de vista controlador del viewDidLoad método, pero aún así le toma más de 10 segundos en cargar. Me sale una pantalla negra con nada en él, para que toda la duración antes de que de repente abre Safari. Hay alguna manera de que yo pueda disminuir el tiempo de carga? Es esto sólo un Simulador de error?? Todavía estoy tratando de conseguir mi los dispositivos registrados para pruebas en dispositivos reales.

Lo curioso es que cuando agrego un UIButton del método de acción, la aplicación de cargas de inmediato, pero el usuario debe pulsar el UIButton para el lanzamiento de la URL en Safari.

Mi objetivo aquí es tener una aplicación que al inicio, inmediatamente inicia una rígida URL en safari. La aplicación debe salir inmediatamente, por lo que será capaz de hacer esto de nuevo cuando el usuario pulsa en el icono de la aplicación. Alguna sugerencia?

He aquí un fragmento de lo que he intentado antes en mi ViewController.m que tiene el 10 segunda pantalla en negro si quieres probar a sí mismo:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"www.myurl.com"]];
    exit(0);
}
  • Es sólo por diversión, ¿o usted planea en tener la aplicación aprobado para su distribución por parte de apple? Si es así, tanto (1) acaba de lanzar el navegador, y (2) llamar a exit() en cualquier momento, se muestran-tapones para su aprobación.
  • Conjunto de «Aplicación no se ejecuta en el fondo» para SÍ en Info.plist.
  • Esta es una empresa de la app store. Esto es sólo la liberación de la 1 a la pre-consolidar 2 ‘apps’ en uno. Versión 2, habrá mucho más y permitirá a los usuarios que ya está instalada la versión 1 a la actualización de su app en lugar de descargar una aplicación de segundo.
  • Gracias, cahn. El exit(0) no estaba funcionando muy bien. Yo no sabía acerca de la Propiedad Clave que usted ha mencionado. Es un gran trabajo ahora!
InformationsquelleAutor user3724252 | 2014-06-10

2 Comentarios

  1. 5

    ¿Por qué no utilizar Añadir a Pantalla de Inicio en Mobile Safari?

    Objective-C para iPhone - Abrir URL en Safari inmediatamente y salir de la aplicación

    Sin embargo, si usted desea llamar a un Safari en el principio de lanzamiento de la aplicación, intente esto:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        //Override point for customization after application launch.
    
    
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"]];
            exit(0);
        });
    
        return YES;
    }
    • Gracias, Joey! Esto funciona muy bien!
  2. 1

    Sólo una actualización con respecto a esta pregunta… Después de que iOS 10, Apple recomienda usar el siguiente método:

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"] options:@{} completionHandler:nil];

    Usted también puede ser capaz de informar de las opciones de los parámetros y/o el tratamiento de cualquier devolución de completionHandler declaración.

Dejar respuesta

Please enter your comment!
Please enter your name here