Фоновая задача Идентификатор загрузки загрузки генерирует

По ссылке /questions/8485521/proper-use-of-beginbackgroundtaskwithexpirationhandler/8485541#8485541. В моем приложении пользователь может загружать аудио-видео и изображения на сервер. Если приложение переходит в фоновый режим, мне нужно, чтобы эта задача оставалась до его завершения. Я реализовал решение, предложенное постом, и оно работает! Тем не менее, он генерирует забавные предупреждения.

с приведенным ниже я получаю: "Несовместимое преобразование целочисленных значений в указатели, присваивающее 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 отклонит мое приложение из-за этого. Так что я просто хочу быть в большей безопасности, чем потом сожалеть. Если кто-то там не знает наверняка, что этот тип вопроса не будет отклонен. Так странно! В любое другое время, когда я получаю такое предупреждение, мое приложение вылетает! Я немного искал это, но предложения не помогли. Кто-нибудь знает, есть ли быстрое или общее исправление для этого?

Спасибо!

1 ответ

Решение

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

UIBackgroundTaskIdentifier *backgroundUpload;

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

UIBackgroundTaskIdentifier backgroundUpload;
Другие вопросы по тегам