Screenshot of my iPhone app where I get this error when I am trying to create an archive file, can anyone help me to solve this issue. My Xcode version is 4.6.2
You may need to add Security.Framework in the "Link Binary With Libraries" section in "Project Build Phases"
Related
I am getting error Linker Error – class.o for architecture i386 on xcode project while i try to build the project. on my project i have used some third party framworks as well. any solution for this ??
To break down this issue here are some tips.
1>Make sure to included the QuartzCore framework or other required frameworks in your project. It should be in the Build Phases->Link Binary With Libraries.
3>Check while switching to the new version, you put the new library in a folder next to the old one, in case you had to switch back at some point. Normally when you removed the old version, it did not remove the path to the old version of the .a file from Library Search Paths in the build settings in "Project Name -> Under Targets" and delete the old path and add new one if required.
2>To add new class please select Project Name -> Under Targets select your target project name -> Build Phases -> Expand Compile Sources -> Click + at bottom of Compile sources and add the correct source file.
4>If the above tips are not working for you then be careful while adding files , don’t copy files directly, just create class by clicking on "new files" in Xcode and copy code one by one and add required frameworks. it won't show linker error .
I believe the class is not in your compile sources list.
Select your project on the navigation sidebar -> goto "build phases" -> expand "compile sources" -> add the corrensponding .m file for your class
Please check the class for which you are getting error message is linked to the target you are building.
Also make sure the third party library you are linking into project is properly linked and also linked at runtime of the project.
That is sure that application is able to find the class which you have mentioned at runtime.
I have a valid Apple iOS dev account and all provision profiles set. I can debug the application on my iPhone. But when I do Product -> Archive and went to the organizer, there is only a "Validate..." and "Distribute..." button.
Clicking the "Distribute..." button only provides me with "Save built products" and "Save Xcode archive" which both doesn't contains any "IPA" file.
There is however an "MyApp.app" file built. I'm not sure what to do about it though.
Suggestions?
In short: Make sure you have configured all linked libraries with "Skip Install" to "YES" in the build settings screen. There are a few detailed instruction on how to do that here on SO.
Failing that, clicking on "Validate..." should clue you in to any potential fixes.
So, I just set-up my machine and somehow on one of a library project "Skip Install" was reverted to "NO".
The first sign that this is wrong is that the "Archive Type" shows up as "Generic Xcode Archive" which is the wrong one.
You can verify this by selecting the archive in organizer and clicking "Validate...", Xcode should tells you about the multi-bundle problem.
The "contains multiple product" is a known Xcode issue and can be worked around by making sure that all built products in all of your projects have the build setting "Skip Install" set to "YES" except for your main application project. This can happens if you add a library project by dragging the xcodeproj file into Xcode.
After fixing it and re-archiving, it should now shows up with an archive type of "iOS App Archive".
And if you click "Distribute..." now, you will now be able to properly export an IPA by selecting the second option.
Your PROJECT - Skip Install - set to NO
Your libraries - Skip Install - set to YES
In your SUBproject you should check "Copy headers" section
click on SUB project
Building Phases
DRAG all files fron Public and Private sections to PROJECT section
Where do we see "Targets" in Xcode 4.2.
I want to see the headers, compiled files & libraries that are part of my project. I can see that in Xcode 3.2.6.
Any idea?
Click on the project file in the Project Navigator. You should see your Project and Targets list on the left pane. Click on the Build Phases tabs. Here, you can see your libraries (under "Link Binary with Libraries") and source files (under "Compile Sources").
Can you please let me know how can I create .dSYM file using XCode 4?
Thanks!
If you archive the application the dsym file is in the xarchive. Right-click on the entry in the organizer, do "show in finder", right click on the xarchive and choose "show package contents". The dsym is in the dSYMs directory.
Update for Xcode 4.3.1
For me there was 2 build settings I had to edit and I had to edit them in the PROJECT and in the TARGETS sections before XCODE would generate dSYMs.
1) Build Settings -> Build Options -> Debug Information Format = DWARF with dSYM
2) Build Settings -> Apple LLVM compilier 3.1 - Code Generation -> Generate Debug Symbols = YES
Hopefully this will help someone else because I spent a few hours banging my head against the wall with Archives that had empty dSYM directories... I "love" XCODE sometimes....
Make sure you have selected "DWARF with dSYM File" as the Debug Information Format in the build settings of your application. The dSYM is then generated automatically when you build and is usually placed in the same folder as the resulting .app.
You can locate .dSYM and application binary file in archive.
Select Window -> Organizer
This will open up Organizer window containing last created Archive of project
Right click on Archive and select 'Show in Finder'
Select 'Show Package Content' for archive
Project.xcarchive contains dSYMs, Info.plist and Products
dSYMs folder contains dSYM file of your project.
Application folder in Project contains application binary of your project.
You can find dSYM in Product, see below images:
Right click to your App > Show in Finder
Here is it.
If you use Crashlytics , you need to zip it then upload it to dashboard.
Please excuse me for asking this old problem but I have really tried
every solutions I could find in this forum and over at stackoverflow,
and the problem still hasn't been resolved...Please help me :(
So here is what I did:
1) I downloaded 'CorePlot 0.2.2.zip' into my project folder.
2) Drag and drop the 'CorePlot-CocoaTouch.xcodeproj' into my project.
Uncheck the "Copy items..." and change "Relative to project".
3) Drag 'libCorePlot-CocoaTouch.a' to Target's 'Link Binary with
Libraries" folder.
4) Add 'CorePlot-CocoaTouch (from CorePlot ...)' under Direct
Dependencies.
5) 5) In 'Header search paths' I added path- /Users/el08ywk/Desktop/
PlotGraphhhhh/CorePlot 0.2.2/Source/framework , and set it to
'recursive'.
6) In "other linker flags", I added -ObjC and -all_load
7) Finally, I added the QuartzCore framework to my project.
Now when i build and run it, i have 51 errors, all of which say
something is 'undeclared' and in .h file says Coreplot-CocoaTouch no
such file or directory...
So where have i done wrong? Thank you in advance.
"5) 5) In 'Header search paths' I
added path- /Users/el08ywk/Desktop/
PlotGraphhhhh/CorePlot
0.2.2/Source/framework , and set it to 'recursive'."
Be careful where you download and use de core-plot library, I had some troubles when it was on my Desktop, try to move the folder at "/" to test first, and after you are sure it works, put it where you have sufficient authorizations.
I hope it helped you.
It sounds like the CorePlot framework has not been added to build target. A project can build many targets at once each with it's own set of dependencies. Check the frameworks added to the target. Most likely CorePlot won't be there.