Можно обернуть код C ++ фреймворками Objective-C ++ для использования в коде Swift, включая среду Playground. Некоторые из моих фреймворков включают библиотеки OpenCV, и это хорошо работает в Swift при правильной упаковке. К сожалению, я не могу использовать их на игровых площадках из-за следующей ошибки:
Playground execution failed: error: Couldn't lookup symbols: _OBJC_CLASS_$_MyClass
… где MyClass
это подкласс NSObject
из моих рамок. На самом деле, после привязки к одной из библиотек OpenCV (например после добавления -lopencv_core
«Другие флаги компоновщика» в настройках сборки), имеют ли эти символы какое-либо отношение к OpenCV (или C ++ в этом отношении).
Мне очень нравится разрабатывать небольшие функциональные возможности на игровых площадках в контексте импортированных фреймворков, где успешные решения в конечном итоге окажутся. В равной степени OpenCV является для меня важной библиотекой, поэтому играть с ней на игровых площадках было бы неплохо (не говоря уже о веселье).
Я все еще использую Swift 1.2 (OS 10.10.4), поскольку собираюсь представить обновление в App Store, но мне было бы интересно, если Swift 2 изменит ситуацию в этом отношении. Что касается OpenCV, это версия 3.0.0, построенная с CMake и конфигурацией по умолчанию.
Изменить: только что нашел эту проблему, описанную (лучше и в целом, чем я) на форумах Apple: https://forums.developer.apple.com/thread/6246
Задача ещё не решена.