xCode 4 "File not Found" when creating .ipa with core-plot library
I have my app ready to ship, and I can not create the .ipa I need to do so.
I have reproduced my problem in a very small example.
1) Create a new project (I used a Nav Bar application). 2) Build for Archive 3) Share. .ipa creates at specified locatio开发者_开发技巧n.
4) download / install core-plot ( http://code.google.com/p/core-plot/downloads/detail?name=CorePlotInstaller_0.2.2.zip&can=2&q= )
5) Use method 2 for adding library
5a) Copy the CorePlotSDK directory to ~/Library/SDKs/
5b) Add to your project's .PCH file: #import
5c) Open Project -> Edit Project Settings and for All Configurations:
5c1)Add to Additional SDKS: $HOME/Library/SDKs/CorePlotSDK/${PLATFORM_NAME}.sdk
5c2) Add to Other Linker Flags: -ObjC -all_load -lCorePlot
5d) Add the QuartzCore framework to the project.
6) Clean project 7) Build for Archive 8) Share (.ipa) => "The operation couldn’t be completed. No such file or directory"
Since you have a 3:rd party SDK you need to add "$(SDKROOT)/ResourceRules.plist" to the “Code Signing Resource Rules Path” key in the targets build settings.
For all those who might be having problems with this, here is a step by step of how I created an .ipa file after successfully adding CorePlot 0.9 to my project:
1) Click on your CorePlot-CocoaTouch.xcodeproj in the Project Navigator (you have added a new project and targets to your main project, and you need to disable it from installing)
2) While in the "PROJECT" settings, click on the "Build Settings" tab, scroll to the "Deployment" section and find "Instalation Directory." Delete whatever you have in that field (do not do any of this in your main project, only in your CorePlot project).
3) In the "Skip Install" section right below the Installation Directory section, set the "No" to "Yes" (make sure all build types are set to "Yes").
4) Now do all the same to all of the "TARGETS" (CorePlot-CocoaTouch, Documentation, and Universal Library).
5) Click on the "CorePlot-CocoaTouch" target, then click on the "Build Phases" tab. You will see a section called "Copy Headers." Move all the headers in "Public" and "Private" sections to the "Project" section (just highlight/drag/drop all the .h files into the Project section)
6) Make sure you are set to build for iOS Device, then in the XCode options at the top of your screen, select Product > Archive.
7) Open Window > Organizer and select the "Archives" tab. You will see your app there once it has finished building. Select the archive, then click on the "Share" button. You will see an option selected "iOS AppStore Package (.ipa)." Click "Next," name your file "YourAppName.ipa" and choose where the file will be saved on your computer.
That should take care of creating an ipa when you are using the CorePlot framework.
I had the same problem. After making sure my certificate and provisioning profile were correct for In-House deployment and making sure I didn't have any unwanted spaces or characters in the target names, what worked for me was to change my scheme from Debug to Release on the Run page. Product -> Scheme -> Edit Scheme -> Click Run -> Change Build Configuration to Release.
精彩评论