1

Итак, я пытаюсь использовать AFNetworking библиотека для служб REST в проекте Я хочу построить на своем Macbook 2006 года. Macbook - это 32-разрядный Core Duo 2006 года с снежным барсом.AFNetworking - Можно легко использовать эти 64-битные библиотеки в 32-битной архитектуре?

Я довольно новыми для развития Objective-C, и я после учебник, чтобы начать работу с AFNetworking здесь: https://github.com/AFNetworking/AFNetworking/wiki/Getting-Started-with-AFNetworking

Использование Xcode 4.2 моя проблема заключается в том, что сразу же, когда я создаю новый проект и попробовать и build я получаю: Semantic Issue - Синтезированное свойство 'window' должно либо называться так же, как совместимый ivar, либо должно явно указывать ivar.

Я проверил настройки сборки моего нового проекта и по какой-то причине xcode по умолчанию предполагает 64-битную архитектуру Intel, когда моя машина 32-битная ?! странно. Я поменял его на 32-битный, и именно там возникла ошибка.

Так что я могу исправить этот семантический вопрос сейчас явным образом создать свой собственный экземпляр окна вара в AppDelegate через:

NSWindow * _window; 

Я читал об этом на строительство за 32-битный ObjC: Synthesizing a property without instance variables, который, кажется, очень часто (отсутствия деклараций ivar) в большом количестве публичного кода проекта github, который я вижу. Все ли заставляют нас бить 64-бит или просто слишком ленивы, чтобы создать экземпляр vars? :(

Так что моя проблема в том, что она выглядит как библиотека AFNetworking была построена из 64-битных Intel, потому что, когда я добавить AFNetworking в мой проект я получаю же семантические ошибки Issue Ивар повсюду. Глядя на в библиотечном коде нет явных переменных экземпляра, объявленных во всем коде для любых свойств.

Я полностью вкрутил сюда? Я мог бы исправить эту ситуацию, вручную создав экземпляры vars для всех свойств, но это было бы такой болью для долгосрочных задач,

Я предполагаю, что я хочу здесь, чтобы был какой-то флаг компилятора th th я мог бы добавить, что это исправить все в один выстрел ?? но я предполагаю, что мне не повезло, и просто пора уничтожить этот Macbook и забрать новый современный.

ответ

2

Автоматически синтезированные переменные экземпляра требуют «современной» среды выполнения Objective-C, доступной только на 64-битных машинах. Итак, к сожалению, вы правы, что не можете просто установить флаг компилятора, чтобы исправить это. Решение действительно должно добавлять объявления переменных экземпляра для свойств класса (ов), который вы пытаетесь использовать.

Я не уверен, что это так сложно, что стоит выбросить ваш компьютер ... Тем не менее, удобства, предлагаемые современной средой исполнения, довольно заманчивы для разработчиков, и вы вряд ли увидите много нового кода, который поддерживает поддержку 32-разрядных Mac. Apple продала 32-битные Intel Mac на короткое время, а Lion требует 64-разрядный Mac, поэтому доля людей, использующих 32-разрядные Mac, уже довольно мала и быстро становится меньше.