Нет, я не знаю, планируют ли поддерживать свойства, но если GNUstep планирует оставаться жизнеспособным (пусть даже в ограниченной степени, в которой оно сейчас), это должно быть приоритетом. Если GNUstep не примет решение о внедрении функций Objective-C 2.0, разрыв между ним и реализацией Apple затруднит создание хорошего межплатформенного кода. (Это уже пограничный смысл для большинства разработчиков.)
Хотя я обычно ненавижу ответы, которые по сути говорят «не делай этого, это плохая идея», я должен согласиться с @Jonathan на этом, особенно с точки зрения практичности. Хотя код может скомпилировать кросс-платформу, если пользователям необходимо установить среду выполнения только для использования вашего приложения, вероятность того, что кто-то будет использовать ваше приложение, значительно уменьшится.
This SO answer подводит итог. Я предлагаю прочитать его и сделать свой собственный вывод.
Следует также учитывать, что тег «objective-c" имеет более 3280 вопросов, а "gnustep" имеет 9. Я не говорю, что объем вопросов - это показатель качества, но он параллелен деятельности и интересам, и вполне возможно поэтому у вас меньше шансов получить хорошую помощь, если вы решите пойти по интересующему вас пути.
К слову, менталитет избежать новых функции в названии совместимости - это поведение «наименее общего знаменателя», которое в конечном итоге сделает ваш код менее изящным и менее «функциональным». Он похож на только кодирование с API, доступным на 10.2 или 10.3, - любой недавний OS X или разработчик iPhone скажут вам, что они предпочли бы е преимущество новых интересных функций, и не препятствовать прошлым ограничениям. В наши дни новые приложения почти всегда требуют 10,5 - поддержка более старых версий более характерна для установленного программного обеспечения, которое поддерживает обратную совместимость, и многие приложения даже теряют старые ОС со временем.
Если вы планируете продавать приложение, использование только совместимых с GNUstep API-интерфейсов сильно ограничит ваш рынок и даже ограничит ваше приложение фундаментальными способами, в том числе уровень полирования и функциональности, которые вы можете надеяться достичь. Даже если приложение не будет коммерческим, обычно имеет смысл использовать язык и фреймворки, которые лучше всего подходят для данной платформы.Если вы действительно ищете кросс-платформенную поддержку, Java, скорее всего, приблизит вас к более низкой изжоге. (Java, определенно, не мой любимый язык, и это не Cocoa, но он делает много всего хорошего.) Хотя по-прежнему существует та же проблема языковой версии для клиентов и платформ, по крайней мере, это , разработанный для кросс-платформенной и все потребительские платформы имеют прочную поддержку Java.
На тему «Не делай этого!»: Это интересная ситуация - мне не нужно много за пределами фонда, и большая часть кода - это тонны моих собственных классов, а также довольно много чтения и записи XML. Таким образом, я решил, что не будет большой совместимость с GNUstep. Что касается того, чтобы мои пользователи устанавливали среду выполнения, я надеялся бороться с этим с хорошо написанным установщиком, который обрабатывает все для них, если захочет. (Мне интересно услышать любые возражения, которые у вас есть для этих двух моментов.) – andyvn22
Если кто-то пытается это сделать: я никогда не мог получить Obj-C 2.0, работающий с GNUstep, но, похоже, он отлично работает с Cocotron (хотя вам нужен доступ к Mac для компиляции). – andyvn22