Si el iOS SDK no tiene funcionalidad para esto, ¿qué ocurre si tengo un sitio web básico (estático) y en algún lugar de ese sitio web establezco manualmente un dato que especifica la última versión de mi aplicación en la tienda de aplicaciones cada vez que lanzo una actualización? ¿Cómo puedo hacer que mi aplicación consulte el sitio web para esa versión de datos y compararla con la versión que se ejecuta en el dispositivo iOS?¿Cuál es la forma más sencilla de verificar la versión actual de su aplicación contra la última versión en la tienda de aplicaciones?
Respuesta
Estás en el camino correcto. Debe realizar una solicitud HTTP a su página web de versión estática. Para hacer esto, puede usar un objeto NSURLConnection. Así que algo como:
NSURL * url = [NSURL URLWithString:@"http://yourweb.com/version.txt"];
NSURLRequest * request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60];
_connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
Luego, en su aplicación delegado:
(void)connection:(NSURLConnection*)connection didReceiveResponse:(NSHTTPURLResponse*)response
{
if(response.statusCode != 200)
// you got an error
}
- (void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error
{
// again with the errors ...
}
// you got some data ... append it to your chunk
// in your case all the data should come back in one callback
- (void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data
{
[mData appendData:data];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
// your request finished ... check the version here
}
Así que en su connectionDidFinishLoading que echar un vistazo a MDATA que ha recopilado. Analizar el número de versión y compararlo con el número de versión del paquete:
[self infoValueForKey:@"CFBundleVersion"];
muy simple, eso debería funcionar muy bien, ¡gracias! – BeachRunnerFred
@BeachRunnerJoe No hay problema. :) – RedBlueThing
El problema es que CFBundleVersion se rellena erróneamente con el número de compilación, no con la versión. Pruébelo en Xcode: establezca un número de compilación que sea diferente de la versión de su aplicación. La llamada anterior devolverá el número de compilación, porque Xcode rellena el plist incorrectamente. Pone el número de compilación en la versión del paquete. – Oscar
que había utilizado el mismo @RedBlueThing solución recomendada en muchas de mis aplicaciones. Lo he escalado a un servicio que otros desarrolladores de aplicaciones pueden usar en CleverStork - un administrador de actualizaciones para aplicaciones. Espero que les guste :)
Puede realizar una consulta como http://itunes.apple.com/en/lookup?bundleId=com.easi6.doorsndots para AppStore.
Returning JSON tiene una información de versión (actualmente en AppStore) que se puede comparar con la otra en paquete.
- 1. Hacer la versión paga de la aplicación de iPhone reemplazar la versión gratuita de la tienda de aplicaciones
- 2. ¿Cuál es la forma más sencilla de actualizar la plataforma haskell a la última?
- 3. iOS mínimo versión 5.0 y la tienda de aplicaciones
- 4. Verificar la versión actual del nodo
- 5. Comportamiento de la aplicación iOS después de instalar una nueva versión desde la tienda de aplicaciones
- 6. ¿Cuál es la última versión de WebSphere MQ Client?
- 7. cómo verificar la versión de jre usando la aplicación java
- 8. cuál es la diferencia entre rama de versión por área de trabajo y por última versión
- 9. Instalar cada versión o la última versión es suficiente?
- 10. ¿Cuál es la mejor forma de usar XCode para instalar varias compilaciones de la misma aplicación iOS en su iPhone?
- 11. ¿Cuál es la forma más sencilla de escribir aplicaciones web en Haskell?
- 12. Buscar la última versión de RVM número
- 13. ¿Cuál es la forma más sencilla de conectar un dispositivo a un iPad desde una aplicación?
- 14. iOS versión de la aplicación
- 15. ¿La versión actual de msysgit admite la sustitución de procesos?
- 16. ¿Cuál es la mejor forma de integrar el control de la versión de TFS
- 17. ¿Cuál es la versión de oráculo más ligera?
- 18. Lista de comprobación preliminar antes de compilar la versión final para la tienda de aplicaciones
- 19. ¿Cuál es la mejor manera de usar la versión de archivo y la versión de ensamblaje?
- 20. ¿Cuál es la forma más limpia de establecer la variable de entorno DYLD_FRAMEWORK_PATH para una compilación de versión?
- 21. Actualización de la nueva versión a la tienda de aplicaciones con una estructura sqlite db diferente
- 22. Android: comportamiento diferente en la versión firmada de la versión?
- 23. ¿Cuál es la forma más sencilla de obtener resultados de scripts de Python en la web?
- 24. Actualización a la última versión de la línea de comandos
- 25. Compra en la aplicación en la nueva versión de la aplicación
- 26. ¿Por qué mi aplicación siempre usa la última versión de GAC en lugar de la versión de referencia?
- 27. Si compra su propia aplicación para iPhone, ¿eliminará la versión de desarrolladores actualmente en su dispositivo?
- 28. Cómo instalar la última versión de la tela
- 29. Eliminar aplicación de la tienda de aplicaciones
- 30. Hacer la tienda en la aplicación para aplicaciones de quiosco
Me pregunto por qué Apple no proporciona un mecanismo para verificar esa información a través de, por ejemplo, el marco de iTunes o algo así. –