Ошибка компоновщика JavaScriptCore Mach-O, Xcode 6.2

Мне нужно использовать JavaScriptCore для вызова функций JS из моего приложения для часов, но я не могу правильно использовать фреймворк, потому что получаю эту ошибку, как только пытаюсь его использовать:

Неопределенные символы для архитектуры i386: «_OBJC_CLASS_$_JSContext», на которые ссылается: objc-class-ref в AppDelegate.o

Я попробовал скомпилированный из проекта Ejecta:

https://github.com/phoboslab/Ejecta/tree/master/Source/lib

Не работает. И я не могу скомпилировать из этих бинарников Ejecta. Я загружаю последнюю версию Xcode 6.2 beta 5, пока пишу, на случай, если я напортачил с Xcode. Я добавил в свой проект библиотеки libicucore и libstdc++, а также скомпилированный фреймворк JavaScriptCore. Также я установил «Нет» для «Создать только активные архитектуры».


person jastrada    schedule 03.02.2015    source источник


Ответы (1)


В сборке JavaScriptCore от Ejecta нет нового API Objective-C, поэтому компоновщик не может найти JContext. Боюсь, что если вы не можете использовать версию JavaScriptCore, представленную в iOS 7, вам не повезло. Вы даже не можете создать JavaScriptCore самостоятельно с помощью API-интерфейса JContext, потому что его реализация зависит от доступа к паре частных функций в libobjc, и это может привести к тому, что ваше приложение не пройдет процесс утверждения в App Store.

person Tayschrenn    schedule 04.02.2015
comment
Я не мог использовать JavaScriptCore в Xcode 6.2 beta 4, не знаю почему. Работал с последним Xcode 6.2 beta 5. Может я что-то напутал. В любом случае спасибо! - person jastrada; 04.02.2015