I am getting this warning
MessageUI.framework/MessageUI, file was built for unsupported file format which is not the architecture being linked (i386)
What does it say ?
I have added the Message Framework by drag and dropping to my resources folder (I also selected the tick where it says copy the files or something). Is this the correct way to add a framework ? I tired R-clicking the resource folder, but I couldn't find any menu option that says add framework or anything similar. (I am using xcode 4.2)
you should add the framework through target setting, under build phases, under link binary with libraries, add messageUI.framework there, DO NOT drag and drop and COPY into the resource folder.
You have to manually add MessageUI framework in your project.
To do that follow this step:
1) Click on your main project --> Go to Target ---> Select Build Phases --> Select Link Binary With Libraries.
2) Click on + sign and add framework named MessageUI.framework.
Related
Having an issue where when trying to add Sparkle to my project with Xcode 5 running 10.9.
I have followed the tutorial to a T, but when I get to the point where I need to copy the framework and set its copy location that is where there seems to be no way to set the copy destination in the copy bundle resources section and it just puts the framework int the /Resources folder.
I have ready through this tread thoroughly and have tried all the suggestions here.
http://www.lists.apple.com/archives/xcode-users/2012/Aug/msg00249.html
I recompiled Sparkle from the latest source and set the Installation Directory to #executable_path/../Frameworks from #loader_path/../Frameworks I get the following error.
dyld: Library not loaded: #executable_path/../Frameworks/Sparkle.framework/
when I revert and try to re add the framework I get this error.
dyld: Library not loaded: #loader_path/../Frameworks/Sparkle.framework/
If I remove the framework from the link framework from binaries altogether and just focus on the Copy Bundle Resources then I get this error.
Unknown class 'SUUpdater', using 'NSObject' instead.
The tutorial is written for Xcode 4 I know. One step says to use Copy File Location but that seems to be gone in Xcode 5 any help is appreciated.
UPDATE
I found a work around but its very messy.
Add the framework to the "Add files to build" build step.
Unlink the sparkle framework.
Open Derived Data folder and then open the App Build, then browse to Resources. Move the sparkle.framework folder to the root of the app and place the framework into a folder named Framework in the root level of the app.
Remove the framework from the "Add files to build" step.
Re-Link the framework.
Rebuild the App and voila it works.
Basically your adding the framework in a Framework folder manually and then linking it up at the end. What makes it messy is that the build changes occasionally in the Derived Data folder.
I have the same problem. And I think I have solved it.
It happens because the Sparkle.framework isn't copied to Frameworks folder(where it should be), it is copied to Resources folder when you build the application. To solved it:
Download the source of Sparkle from GIT (https://github.com/sparkle-project/Sparkle) and open the project in Xcode 5;
Go to Build Settings of every targets, then find Base SDK, change the value to macosx.
Go to Sparkle.framework's Build Settings. Find Installation Directory, Change its value from #loader_path/../Frameworks to #loader_path/../Resources under Sparkle.framework's Build Settings.
Build.
Copy Sparkle.framework under Products group in Project Navigator to your project.
Say YES and take a self highfive.
I was suffering from the same problem, then I found this:
http://www.lantean.co/sparkle-in-sandbox-mode/
The key is to add the Sparkle.framework to the Frameworks folder using the "Copy Files" section from "Build Phases".
I am making an app in which I am using BMSocialShare.framework for Facebook sharing. I have add this framework in my project by this step - Add File to "My_project" -> select framework -> add. But when I deploy this project in another system them I have got this framework
missing and got this type of warning -
warning: Could not find object file
"/Users/vinzenzweber/Library/Developer/Xcode/DerivedData/BMSocialShare-gedvbinixmfywidbwutkdxrdvdzo/Build/Intermediates/BMSocialShare.build/Release-iphonesimulator/BMSocialShareFramework.build/Objects-normal/i386/BMSocialShare.o"
- no debug information available for "/Users/vinzenzweber/Documents/xcodeworkspace/blockhaus-git/BMSocialShare/iOS/BMSocialShare/BMSocialShare/BMSocialShare.m".
and app get crashed. So can you suggest me that what is the proper way to add an framework if framework is not present in our existing list.
You can follow below steps:
1) Create sub-folder in your project and add framework into that folder.
2) Now, open Build Phases -> Link Binary With Libraries. And click on '+' button.
3) Then click on "Add Other" instead of adding default framework.
Now, you have added framework successfully.
That's it.
Cheers!
First copy and paste your frame work in where ever your project location and then do the same task that you have been done this is working
and another thing when ever you deploy this in another system make sure send the project with compress means zip file
I want to use audio management from Kobold2D (ObjectAL)in my general (existing) Xcode (single view) project.
I use instructions from official:
Copy libs/ObjectAL from this project into your project. You can simply
drag it into the "Groups & Files" section in xcode if you like (be
sure to select "Copy items into destination group's folder").
Alternatively, you can build ObjectAL as a static library (as it's
configured to do in the ObjectAL demo project).
Add the following frameworks to your project: OpenAL.framework
AudioToolbox.framework AVFoundation.framework
But got this error: kkARCSupport.h file not found. Why?
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 followed the instructions on the github page but something is wrong (most certainly is me: P) but, Do you know about any good tutorial for integrate / use in Xcode4 RestKit?
Thanks!
Download the latest version from this Link http://restkit.org/
and extract the zip folder and you will find a ReadMe.md file which explains you steps to install for Xcode 4.x as shown below
Xcode 4.x (Git Submodule)
Add the submodule: git submodule add git://github.com/RestKit/RestKit.git RestKit
Open the project you wish to add RestKit to in Xcode.
Focus your project and select the "View" menu > "Navigators" > "Project" to bring the project file list into view.
Drag the RestKit.xcodeproj file from the Finder and drop it on your "".xcodeproj.
Click on your project's name in the sidebar on the left to open the project settings view in the right pane of the window.
In the middle pane you will see PROJECT and TARGETS headers for your project. Click on your project name, then select Build Settings along the top to open the Build Settings editor for your entire project.
Find the Header Search Paths setting. Double click and add a new entry. Add a search path to the "$(SOURCE_ROOT)/RestKit/Build" directory you have added to your project. DO NOT check the Recursive checkbox.
Find the Library Search Paths setting. Double click and add a new entry. Add a search path to the "$(SOURCE_ROOT)/RestKit/Build/$(BUILD_STYLE)-$(PLATFORM_NAME)" directory you have added to your project.
NOTE: This is only necessary if you are NOT using DerivedData.
Find the Other Linker Flags entry and double click it. Use the + button to add a new entry and enter -ObjC -all_load. Dismiss the editor with the Done button.
Locate the target you wish to add RestKit to in the TARGETS list in the middle of the editor pane. Select it to open the target settings editor in the right pane of the window.
Click the Build Phases tab along the top of the window to open the Build Phases editor.
Click the disclosure triangles next to the Target Dependencies and Link Binary with Libraries items.
In the Target Dependencies section, click the + button to open the Target selection sheet. Click on the RestKit aggregate target (it will have the bulls-eye icon) and click the Add button to create a dependency.
In the Link Binary with Libraries section, click the + button to open the Library selection sheet. Here we need to instruct the target to link against all the required RestKit libraries and several system libraries. Select each of the following items (one at a time or while holding down the Command key to select all of them at once) and then click the Add button:
libRestKitCoreData.a - Optional. Only necessary if you are using Core Data.
libRestKitJSONParserJSONKit.a
libRestKitNetwork.a
libRestKitObjectMapping.a
libRestKitSupport.a
CFNetwork.framework
CoreData.framework - Optional. Only necessary if you are using Core Data
MobileCoreServices.framework
SystemConfiguration.framework
libxml2.dylib - Optional. Only necessary if you are mapping from XML payloads and link libRestKitXMLParserLibxml.a into your app.
Verify that all of the libraries are showing up in the Link Binary with Libraries section before continuing.
Congratulations, you are now done adding RestKit into your Xcode 4 based project!
You now only need to add includes for the RestKit libraries at the appropriate places in your application. The relevant includes are:
#import <RestKit/RestKit.h>
// And if you are using Core Data...
#import <RestKit/CoreData/CoreData.h>
I found this tutorial very useful to make it work on xCode 4.0.
http://liebke.github.com/restkit-github-client-example/
I did my build following this steeps https://github.com/RestKit/RestKit/wiki/Installing-RestKit-in-Xcode-4.x and guoleii is right. But I needed to change the owner directory.
Have you seen this threads from RestKit's Google Group?
link 1
link 2
Try searching there. But for now, there seems to be A LOT of issues with RestKit and Xcode 4, there's even a YouTube video showing the problems (none showing a how-to).
did you build RestKit according to the wiki page "Installing RestKit in Xcode 4.x" on github.com/RestKit? i think there is a little mistake. here is my solution: 1. in "Build Phases" -> "Link Binary With Libraries", delete the RestKit.framework and add Security.frameWork 2. build again
then it works.
I just tried to install RestKit on a newly created Xcode 5 iOS 7.0 project. I tried downloading the project and following the steps above, but i was missing most of the content with in the RestKit/Vendor folder. After doing a bit of research i did the submodule tactic and that got me all of the information from those folders.
From the command prompt change directory into your project folder, for me it was
$ cd Documents/Projects/NewlyCreatedApp
From there you should run this command if you have no git repository
Note: you must download git to install this, if you have not already
$ git init
after that you must run these commands to download restkit into your project folder
$ git submodule add git://github.com/RestKit/RestKit.git
$ git submodule update --init --recursive
After that, you should go up to Nakkeeran's answer above and start from step 2, to set up the process. In step 7 you will be asked to add "$(SOURCE_ROOT)/RestKit/Build" to your header search paths, but upon closer inspection the RestKit framework no longer has the build folder so you should change that to "$(SOURCE_ROOT)/RestKit/Code" to fit the current version of Rest Kit
I hope this helps, and here is a link to the submodule information i posted.
RestKit Installation Submodule Method