2012-11-22 3 views
1

En référence à https://stackoverflow.com/a/10319761/1680408. Dans mon application, un utilisateur peut télécharger des vidéos et des images audio sur un serveur. Si l'application passe en arrière-plan, j'ai besoin que cette tâche reste jusqu'à ce qu'elle se termine. J'ai implémenté la solution proposée par le post et ça marche! Cependant, cela génère des avertissements amusants.tâche d'arrière-plan Téléchargement de l'identificateur générant des erreurs

au-dessous d'un, je reçois: « entier Incompatible à la conversion de pointeur attribuant à 'UIBackgroundTaskIdentifier *' (alias 'unsigned int *') de 'UIBackgroundTaskIdentifier' (alias 'unsigned int')

- (void)beingBackgroundUpdateTask 
{ 
self.backgroundUpload = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ 
    [self endBackgroundUpdateTask]; 
}]; 

// 
} 

avec ce prochain je reçois une suggestion de réparation: "Pointeur incompatible vers la conversion d'entier envoyant 'UIBackgroundTaskIdentifier *' (alias 'unsigned int *') au type de paramètre 'UIBackgroundTaskIdentifier' (alias 'unsigned int'); déférence avec *

- (void)endBackgroundUpdateTask 
{ 
self.backgroundUpload = UIBackgroundTaskInvalid; 
[[UIApplication sharedApplication] endBackgroundTask:self.backgroundUpload]; 
} 

qui lorsque j'utilise le correctif il suggéré le travail ne marche pas de code. Pour être hoenst, je ne suis pas trop agité parce que ça marche. Cependant, je suis inquiet que Apple rejette mon application à cause de cela. Donc, je veux juste être mieux prévenir que guérir. À moins que quelqu'un ne sache pertinemment que ce type de problème ne serait pas rejeté. Si étrange! Toute autre fois que je reçois ce type d'avertissement mon application se bloque! J'ai fait quelques recherches pour cela mais les suggestions n'ont pas vraiment aidé. Quelqu'un sait-il s'il y a une solution rapide ou juste une solution miracle?

Merci!

+0

un Nice, beaucoup d'utilisation de ces avertissements face ennuyeux et, enfin, écrit quelques lignes pour cacher les avertissements: D –

Répondre

4

Comment avez-vous déclaré la variable backgroundUpload?

UIBackgroundTaskIdentifier *backgroundUpload; 

Ceci donnera cet avertissement. Supprimez le * de la ligne ci-dessus.

UIBackgroundTaskIdentifier backgroundUpload; 
+0

VOUS ÊTES UN DIEU chez les hommes. Merci beaucoup Suresh! – mafiOSo

Questions connexes