У меня сбой на этой линии с плохим доступом.
if([GKLocalPlayer localPlayer].authenticated == YES)
Я видел этот код в нескольких уроках и думаю, что он должен работать. Нужно ли что-то включать перед вызовом?
РЕДАКТИРОВАТЬ: сбой выше, в этой строке - я просто разделил вызовы
player = [GKLocalPlayer localPlayer];