Подтвердить что ты не робот

Неявное преобразование указателя Objective-C в 'void *' запрещено ARC

Что это значит и какая у меня альтернатива?

implicit conversion of an Objective-C pointer to 'void *' is disallowed with ARC

Я переношу проект Xcode3 в iOS5, который использует AudioSessionInitialize, подобный этому

AudioSessionInitialize(NULL, NULL, NULL, self);

где self здесь находится ViewController.

4b9b3361

Ответ 1

Вы больше не можете делать неявные приведения в void*, AudioSessionInitialize(NULL, NULL, NULL, objc_unretainedPointer(self)); должен делать трюк.

EDIT: Историческая точка, ответ выше был до того, как кавычки __bridge были завершены. В современном коде правильный ответ таков: @Казуки Сакамото, AudioSessionInitialize(NULL, NULL, NULL, (__bridge void*)self);