The Omni Group
These forums are now read-only. Please visit our new forums to participate in discussion. A new account will be required to post in the new forums. For more info on the switch, see this post. Thank you!

Go Back   The Omni Group Forums > Developer > Omni Frameworks
FAQ Members List Calendar Search Today's Posts Mark Forums Read

 
Xcode 4. Thread Tools Search this Thread Display Modes
After hours of trying to get this to work I have one single question… how on earth can you use the Omni Frameworks with Xcode 4?

What I've done is created a workspace added all the separate Frameworks in required to run the TextEditor example, like so:



And build each one, one by one. All was fine, so i tried to build the TextEditor example but oh no Xcode 4 wouldn't have it, throwing errors such as these:



Why do I get these errors when I have build each and every single framework in the workspace and they are all build into the same place.

Also, I have one final question. Do you guys at OmniGroup use Xcode 4?
 
Unfortunately, Xcode 4's automatic dependency checking can't determine when two targets have a dependency on each other due only to imports.

For example, OmniUI depends on OmniBase having been built so that it can include <OmniBase/...>. When building on the Mac, Xcode 4 *can* determine this via the framework linking, but we can't link the iOS static libraries against each other.

So, the short answer is that if you select Edit Scheme… from the Scheme popup, pick the Build action in your scheme and then uncheck Parallelize Build and Find Implicit Dependencies, it will work much better. You'll also need to tell it to build FixStringsFile before building the TextEditor (click on the + in the bottom left of the Build tab, pick FixStringsFile and put it at the top of build list.
__________________
CTO, The Omni Group
 
Okay, I've got a bit further now. This is what my target looks like now:



It all builds fine until right at the end with the actual project itself when I get this 'Mach-O' linker error:

[Image to large to embedded]

Thanks very much for your help so far. :)
 
When building TextEditor, you shouldn't need the Mac variants (so, you should just need "OmniBaseTouch" instead of "OmniBase", for example).

As for the SenTestingKit issue, it looks like I added a reference to that under /Developer/Library/Frameworks/SenTestingKit.framework in the TextEditor project (the default Xcode install location). You could change this to refer to it via your '/Xcode 4' install location, or try to use one of the variables ("$(DEVELOPER_DIR)" or the like).

But, longer term, we'll probably stop using SenTestingKit since it isn't available on devices unless the device has had its "Use for Development" bit flipped. In our current internal builds we have these tests only running on the Mac, but we'll probably be switching to GHUnit or one of the other testing frameworks that we can actually build from source.
__________________
CTO, The Omni Group
 
I've removed all the Mac variants just to make sure they weren't causing any problems, which they weren't.

But the missing framework error for SenTestingKit wouldn't go away even though it exists in both /Developer/Library/Frameworks AND /Xcode 4/Library/Frameworks. So i re-added the framework, and it got rid of that error. But than i get 19 more, which are completely unrelated. If your interested take a look at the image here.

To be honest, I've given up on Xcode 4 and am going to stick with Xcode 3.2 when working with the framework.
 
I'm having the same issue with the same linker errors. I can get it to build in the sample project provided but not my own. There must be something obvious. It also says OBFinishPorting is undeclared, which leads me to believe that some dependency is missing. HELP!?
 
Late last week I pushed a new framework update that has a top-level Workspaces directory, currently containing one workspace showing how we build TextEditor for iOS. This may help better explain how we set things up.
__________________
CTO, The Omni Group
 
Quote:
Originally Posted by nickplee View Post
I'm having the same issue with the same linker errors. I can get it to build in the sample project provided but not my own. There must be something obvious. It also says OBFinishPorting is undeclared, which leads me to believe that some dependency is missing. HELP!?
Hi Nickplee,

try adding following in your <appname>_Prefix.pch

#import <OmniBase/OmniBase.h>
#import <OmniFoundation/OFNull.h>
#import <OmniFoundation/NSString-OFSimpleMatching.h>

it should resolve your issue...
 
 


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
Xcode project -> UML diagram deivers OmniGraffle General 1 2012-12-11 10:23 AM
Xcode 4 Customized Build Location jgarnham Omni Frameworks 4 2011-09-16 03:51 AM
XCode 3 IPA problems marceloboff Omni Frameworks 0 2011-05-19 10:31 AM
XCode 4 archive marceloboff Omni Frameworks 2 2011-05-19 08:07 AM


All times are GMT -8. The time now is 07:02 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.