I am trying to use CorePlot in one of my iOS projects, but even after following the instructions and looking around online, I haven't managed to correctly install the framework. I feel like the documentation has not evolved and no longer describes the correct way to install the framework.
I followed these instructions. But some things do not make sense to me, either because they are no longer current or because I don't understand.
For instance, when I am told to add the library to the "Link binaries with binary" section, the Core Plot library is highlighted in red. Then when I am told to edit the Header Search Paths, I don't understand what to do because the .xcodeproj file I dragged into my project does not have a "framework" folder.
Could anyone please give up-to-date, noob-friendly instructions?
Thank you.
Edit: I tried to install according to the instructions below (manual installation) and I am now getting three errors:
Undefined symbols for architecture x86_64:
"_vDSP_maxvD", referenced from:
-[CPTPlot plotRangeForField:] in libCorePlot-CocoaTouch.a(CPTPlot.o)
"_vDSP_minvD", referenced from:
-[CPTPlot plotRangeForField:] in libCorePlot-CocoaTouch.a(CPTPlot.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Foundry's answer is great if you use Cocoapods, but I'll will provide you a step-by-step guide to do it manually :
- Create a folder named
Workspace
, and create a new "testCoreplot" project in it from within Xcode. - Download CorePlot, and copy the "Source/framework" folder into your workspace folder. Rename it "CoreplotFramework" in order to avoid issues if you add others frameworks this way later.
You should have this :
- Launch your testCoreplot project, and drag the file "CorePlot-CocoaTouch.xcodeproj" from the finder in it.
- Selet the testCoreplot target, go to 'Build Phases" tab, and add "CorePlot-CocoaTouch" in "target dependencies" section and "libCorePlot-CocoaTouch.a" in "Link Binary With Libraries" section. Add the
Accelerate
framework too for release 2.0.
- Go to "Build settings" tab, look for "Header search paths" and add
$(SRCROOT)/../CoreplotFramework
. Be sure you selectrecursive
.
- Still in this "build settings" tab, add the
-ObjC
flag
Go to ViewController.m and add
#import "CorePlot-CocoaTouch.h"
Compile, everything should be right !
Core Plot provides a podspec, so you can use cocoapods as your library manager which should make installing and updating much simpler
- Install cocoapods on your system
- Add a text file to your project called
Podfile
- In the Podfile add the line
pod 'CorePlot', '~> 1.5'
- In the terminal, cd to your project directory and run
pod install
Cocoapods will generate a xcworkspace
file, which you should use for launching your project (the .xcodeproj
file will not include the pod libraries)
@foundry's answer is what worked best for me. All other things I tried triggered lots of weird issues.
This is how I did it:
At the root of the directory project, create a plain text file named Podfile
(no txt extension), then add the following to it:
target 'App Name' do
pod 'CorePlot', '~> 2.2'
end
with App Name
being your App name, i.e. MyApp.xcodeproj
, then just use MyApp
.
Then, from your terminal, run pod init
, followed by pod install
. After this, from Finder, don't run the original MyApp.xcodeproj
anymore, but the newly created MyApp.xcworkspace
.
It just worked like a charm...
来源:https://stackoverflow.com/questions/28236419/ios-coreplot-how-to-install