Также необходимо устранить предупреждение с помощью XCode 4.2 (LLVM).В частности:
-(void) release { }
выдает следующее предупреждение в XCode 4.2 (с LLVM):
предупреждение: семантическая проблема: конфликт модификаторов распределенных объектов по типу возврата в реализации 'release'
Предупреждение можно устранить, добавив модификатор oneway:
-(oneway void) release { }
Это в реализации синглтона, поэтому релиз действительно ничего не делает.
Это необходимо (по крайней мере, для устранения предупреждения) на iOS, а также на OS X. Протокол NSObject в документации iOS определяет выпуск как (односторонний недействительный), хотя в iOS нет распределенных объектов.Похоже, что LLVM поднимает это, а GCC нет.