при загрузке идентификатора фоновой задачи возникают ошибки

Со ссылкой на https://stackoverflow.com/a/10319761/1680408. В моем приложении пользователь может загружать аудио, видео и изображения на сервер. Если приложение переходит в фоновый режим, мне нужно, чтобы эта задача оставалась до ее завершения. Я реализовал решение, предложенное в сообщении, и оно работает! Тем не менее, он генерирует забавные предупреждения.

с приведенным ниже я получаю: «Несовместимое преобразование целого числа в указатель, присвоенное« UIBackgroundTaskIdentifier * »(также известное как «unsigned int *») из« UIBackgroundTaskIdentifier »(также известное как« unsigned int »)

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

//
}

со следующим предложением я получаю исправление: «Несовместимый указатель на целочисленное преобразование, отправляющий« UIBackgroundTaskIdentifier * »(также известный как« unsigned int * ») в тип параметра« UIBackgroundTaskIdentifier »(также известный как« unsigned int »); уважение с *

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

что, когда я использую предложение исправить это, код не работает. Честно говоря, я не слишком беспокоюсь, потому что это работает. Однако я беспокоюсь, что Apple отклонит мое приложение из-за этого. Так что вроде как лучше перестраховаться, чем сожалеть. Если только кто-то не знает наверняка, что этот тип проблемы не будет отклонен. Так странно! В любой другой раз, когда я получаю такое предупреждение, мое приложение аварийно завершает работу! Я сделал некоторые поиски для этого, но предложения не очень помогли. Кто-нибудь знает, есть ли быстрое исправление или просто исправление общего исправления для этого?

Спасибо!


person mafiOSo    schedule 22.11.2012    source источник
comment
Хорошо, многие пользователи столкнулись с этими раздражающими предупреждениями и, наконец, написали несколько строк, чтобы скрыть предупреждения: D   -  person Anoop Vaidya    schedule 22.11.2012


Ответы (1)


Как вы объявили переменную backgroundUpload?

UIBackgroundTaskIdentifier *backgroundUpload;

Это даст это предупреждение. Удалите * из строки выше.

UIBackgroundTaskIdentifier backgroundUpload;
person Ramaraj T    schedule 22.11.2012
comment
ТЫ БОГ СРЕДИ ЛЮДЕЙ. Большое спасибо Суреш! - person mafiOSo; 22.11.2012