Поддержка CorePlot для arm64?

В Core-plot 1.4 я могу использовать предварительно созданную библиотеку Binaries/iOS/libCorePlot-CocoaTouch.a в своем приложении для iOS, но только если я удалю «arm64» как допустимую архитектуру в сценарии BuildSettings/ValidArchitecture.

Могу ли я перестроить эту библиотеку, включив в нее arm64, используя Source/framework/CorePlot-CocoaTouch.xcodeproj, установив для параметра BuildSetting/Architecture значение arm64?

Тот же вопрос относится и к CorePlot1.5.1. В 1.5.1, где я могу легко найти папку CorePlotHeaders, которая удобно называется Binaries/iOS/ в 1.4.

Когда я строю, я получаю продукты отладки, но не вижу продуктов выпуска в тех местах, где в настройках сборки указано, что они должны быть. Чего мне (все еще новичок в Xcode5) не хватает?

Зачем мне включать CorePlot в качестве зависимого элемента, а не просто включать его статическую библиотеку в мое приложение проекта Xcode? Последнее проще.


person user3465263    schedule 26.03.2014    source источник


Ответы (1)


  1. Можно ли перестроить эту библиотеку для включения arm64 с помощью Source/framework/CorePlot-CocoaTouch.xcodeproj, задав для параметра BuildSetting/Architecture значение arm64?

    Да. Создайте цель "Универсальная библиотека", чтобы создать полный двоичный файл выпуска с кодом устройства и симулятора.

  2. Тот же вопрос относится и к CorePlot1.5.1. В 1.5.1, где я могу легко найти папку CorePlotHeaders, которая удобно называется Binaries/iOS/ в 1.4.

    Заголовки находятся в одном и том же месте в папках выпусков 1.5 и 1.5.1.

  3. При сборке я получаю продукты отладки, но не вижу продуктов выпуска там, где они должны быть в настройках сборки. Чего мне (все еще новичку в Xcode5) не хватает?

    Это определяется выбранной "схемой". По умолчанию сборка или запуск создают отладочную версию, а профилирование или архивирование — выпускную версию.

  4. Зачем мне включать CorePlot в качестве зависимого элемента, а не просто включать его статическую библиотеку в приложение проекта Xcode?

    Вы бы использовали зависимую сборку библиотеки, если бы не отставали от последнего кода из Github или использовали свою собственную частную вилку. Вы всегда можете собрать статическую библиотеку из исходного кода (см. вопрос № 1 выше), но если код Core Plot часто меняется, проще включить проект напрямую.

person Eric Skroch    schedule 26.03.2014
comment
Я думаю, что это верный ответ, но я получаю сообщение об ошибке: Неопределенные символы для архитектуры x86_64: _vDSP_maxvD, на которые ссылаются: -[CPTPlot plotRangeForField:] в libCorePlot-CocoaTouch.a(CPTPlot.o) _vDSP_minvD, на которые ссылаются: -[CPTPlot plotRangeForField:] в libCorePlot-CocoaTouch.a(CPTPlot.o) У вас есть идея, что это такое? я внимательно следил за вашим ответом. - person Yucel Bayram; 11.06.2014
comment
Для последних версий Core Plot (после 1.5.1) требуется платформа Accelerate на iOS. - person Eric Skroch; 11.06.2014
comment
большое спасибо. Это сработало. Я хочу, чтобы эта ошибка была более ясной. Я даже не думал об этом фреймворке. - person Yucel Bayram; 12.06.2014