これは何を意味し、どのような選択肢がありますか?
implicit conversion of an Objective-C pointer to 'void *' is disallowed with ARC
このようにAudioSessionInitializeを使用するXcode3プロジェクトをiOS5に移植しています
AudioSessionInitialize(NULL, NULL, NULL, self);
ここで、self
はViewControllerです。
_void*
_への暗黙のキャストを行うことはもうできません。AudioSessionInitialize(NULL, NULL, NULL, objc_unretainedPointer(self));
がうまくいくはずです。
編集:歴史的なポイント、上の答えは___bridge
_キャストが確定する前からでした。最近のコードでは、正しい答えは@KazukiSakamotoによって提供されたものですAudioSessionInitialize(NULL, NULL, NULL, (__bridge void*)self);
これには__bridgeキャストを使用する必要があります。
AudioSessionInitialize(NULL, NULL, NULL, (__bridge void *)self);