问题
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)
回答1:
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
Accelerateframework 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
-ObjCflag
Go to ViewController.m and add
#import "CorePlot-CocoaTouch.h"Compile, everything should be right !
回答2:
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)
回答3:
@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