поскольку я регулярно тестирую свое приложение на устройстве 3.1.3, мне пришлось добавить флаг компоновщика «-weak_library /usr/lib/libSystem.B.dylib» для поддержки там блоков. Это не было проблемой, пока я просто не начал добавлять код для игрового центра из образцов Apple. Только в симуляторе я столкнулся с мгновенным сбоем (EXC_BAD_ACCESS) где-то глубоко в библиотеках Apple, когда блок (даже пустой) передается в качестве обратного вызова аутентификации в кодировке GC. Когда я указываю nil в качестве обратного вызова, вход в систему GC работает нормально, и приложение продолжает работу. Хотя он отлично работает на всех реальных устройствах (iPad, iPhone с iOS 4.3, iPod с iOS 3.1.3 - конечно, тогда без GC). Когда я удаляю флаг слабой ссылки для компоновщика, он также будет работать без проблем в симуляторе. Кто-нибудь знает, что там происходит? Это не удовлетворительное решение - добавлять флаг компоновщика только каждый раз, когда я хочу развернуть его на моем старом iPod.
Спасибо, хабитоти