Reputation: 9869
I'm having a really tough time getting XMPPFramework to work. I've followed every direction written on the net, and XCode is not finding any of my XMPPFramework classes.
Expected specifier-qualifier-list before 'XMPPStream' XMPP.h: No such file or directory XMPPRoster.h: No such file or directory
I have XMPPFramework copied into my project's root directory. Why can't these files be seen? Is there something that I need to do under Header Search Paths or Library Search Paths?
I've set those entries to $(inherited) and $(SRCROOT) and XCode 4.2 auto-fills in my project's root directory and still doesn't find my files.
I'm quite sure that I'm not the only one having this issue, and it is a showstopper. Any ideas?
Upvotes: 14
Views: 15044
Reputation: 2100
Additional information related to the instructions in @Brian's answer.
Addition to Step 3:
If a lib file such as libxml2.dylib is not available in the "Choose frameworks and libraries to add" window, follow these steps to find it:
Add Other...
COMMAND+SHIFT+G
(Go to folder)/usr/lib
and then Enter
or click Go
Open
After Step 4:
Also note that XMPPFramework and its dependencies use ARC.
If your app primarily uses MRR instead of ARC, either convert your app to ARC or perform step 5.
Step 5
Add -fobjc-arc
compiler flag to the XMPPFramework files.
In Xcode, for each target that will use XMPPFramework,
Build Phases
Compile Sources
Enter
to open the edit window for compilers flags-fobjc-arc
Enter
again to save the change.The Compile Sources
list is unsorted, so it is helpful to use the search field to filter the list on XMPP
and then on XEP
. That finds most of the files, but there are still some that have to be picked out from the full list of files.
Upvotes: 0
Reputation: 10595
At the XMPPFramework gitHub wiki 1 there is a step by step instruction that helps setting up XMPPFramework for your project.
In fact the error you have mentioned is close to what is also indicated by the instructions.
"However, upon importing an XMPPFramework class, such as by calling '#import XMPP.h' will cause XCode to show an error 'XMPP.h' not found. It appears that XCode is not finding any of the XMPPFramework files."
I hope this gives you enough information to solve this issue you are facing, even though the instructions are not targeted specifically to iOS-5.
Upvotes: 4
Reputation: 31282
The wiki on github is out of date. Here is how I installed XMPPFramework
manually.
Step 1
Clone the XMPPFramework repository to somewhere on your machine and drag the needed folders in somewhere/XMPPFramework
to your Xcode project.
The necessary folders are:
You may also need Extensions
, it's optional though.
It's important to select the checkbox/radio buttons exactly like this image when dragging folders to your Xcode:
Step 2
a) Drag Sample_XMPPFramework.h
to your Xcode and select the checkbox/radio buttons like step 1
b) rename it to XMPPFramework.h
c) customize the content of XMPPFramework.h
based on your needs. (I didn't change anything)
The file structure should look like this in Xcode project navigator after doing step 1 and 2:
Step 3
link following frameworks and libraries
Step 4
Added these 2 lines to Build Settings
:
You should be good after these 4 steps. However, please notice that you usually need to #import <UIKit/UIKit.h>
before using XMPPFramework
Upvotes: 38