Использование Core Plot 2 в проекте Xcode 5

Я использую инструкции здесь, чтобы интегрировать Core Plot в мой проект iOS Xcode 5, и у меня нет никаких проблем.

Я попытался использовать Static Library Install, но, похоже, это относится к 1.4, так как нет каталога с именем CorePlotHeaders, хотя, если я попытаюсь использовать 1.4, я запускаю проблемы во время выполнения.

Затем я попытался перетащить CorePlot-CocoaTouch.xcodeproj, как описано в Dependent Project Install, но это копирует его только как файл, а не весь проект.

Есть ли более современные инструкции для использования в качестве статической библиотеки или как я неправильно копирую проект в свой проект?

Ответ 1

Если вы хотите использовать статическую библиотеку, создайте ее, используя цель "Универсальная библиотека". Это поместит статическую библиотеку и папку CorePlotHeaders в папку build внутри вашего каталога Core Plot.

Чтобы использовать зависимый проект, перетащите файл проекта из Finder в Xcode в проект приложения в панели браузера в левой части окна Xcode. Не забудьте установить "Пути поиска заголовков" в настройках сборки приложения или не сможете найти заголовки основного графика.

Ответ 2

Ниже приведены некоторые текущие шаги для добавления в проект статической библиотеки Core Plot:

  • загрузите последнюю версию CorePlot здесь

  • перейдите в папку CorePlot и запустите CorePlot-CocoaTouch.xcodeproj

  • построить (не запускать) проект CorePlot-CocoaTouch.xcodeproj

  • вернитесь в папку загрузки CorePlot > build > Debug-iphoneos и подтвердите libCorePlot-CocoaTouch.a. Если нет, разархивируйте загрузку и повторите шаги 1-4

  • назад в Xcode выделите проект CorePlot-CocoaTouch

  • щелкните "Продукт" > "Схема" > выберите "Универсальная библиотека" (выбирает, какую цель нужно создать)

  • снова выполнить проект (не запускать)

  • перейдите в папку загрузки CorePlot > build > Release-universal, и вы увидите, что папка CorePlotHeaders и libCorePlot-CocoaTouch.a доступны

  • откройте проект Xcode, который вы хотите добавить статический CorePlot к

  • добавьте в проект файл CorePlot > build > Release-universal > CorePlotHeaders и файлы libCorePlot-CocoaTouch.a(выберите "копировать элементы в папку целевой группы" )

  • выберите свой проект и в разделе "Связывание" найдите "Другие флаги компоновщика" и добавьте -ObjC

  • из вашей цели > Фазы сборки > Свяжите двоичные файлы с библиотеками добавьте в проект проект рамки QuartzCore

  • Если libCorePlot-CocoaTouch.a не находится в списке Link Binary With Libraries, перетащите его из того места, где вы скопировали его в свой проект в список библиотеки, чтобы добавить его.

Теперь вы должны иметь возможность

#import "CorePlot-CocoaTouch.h" 

(автозаполнение) к viewController, который вы будете использовать для управления вашим CorePlot.

Если вы следуете старой документации о том, как использовать CorePlot, помните, что новый префикс CPT (не CP, отрегулируйте соответствующим образом)

Счастливое кодирование!

Ответ 3

Используйте Cocoapod для установки необходимых библиотек вместо этого ручного шага, если вы хотите решить эту проблему за 1 минуту... (перейдите по этой ссылке и перейдите к последней ветке: iOS CorePlot, как установить)

Ответ 4

Как и вышеприведенные шаги, вам нужно включить -all_load в опции компоновщика, иначе он не будет работать на Xcode 7.1.1