The headers of the frameworks disappear when I update to OS Maverick.

I have been working with some Bluetooth low energy applications so I am using IOBluetooth framework. Normally this framework is located in /System/Library/Frameworks and It has a folder call Headers with all the .h files.


I need this folder because I am using this like a shared library in Labview and suddenly when I update my OS, that folder disappeared.


I was looking for other options and I saw that I can found the hold framework inside XCODE app, but It does not work as the normal one.


User uploaded file

MacBook Pro with Retina display, OS X Mavericks (10.9)

Posted on Nov 5, 2013 8:15 AM

Reply
6 replies

Nov 5, 2013 9:03 AM in response to etresoft

I downloaded other applications that use the same framework and I try to follow their path and I saw that the framework was inside of Xcode. I copied that framework to the Desktop and I tried to use it but it gave problems. But that is not the basic question. The question is why the headers disappeared of the typical framework location. If you have OS Maverick check the path showed in the image and check if you have the headers folder. If you have it, it is not OS Maverick the problem.

Nov 5, 2013 12:08 PM in response to gagmguerrero

You're right, the Headers directory is no longer in the /System/Library/Frameworks/IOBluetooth.framework path. However, the Headers found in the Xcode App path should work if you use the right SDK within Xcode. For example, Mavericks would be:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/IOBluetooth.framework/Versions/A/Headers

Nov 5, 2013 12:19 PM in response to gagmguerrero

I get it now.


There is a difference between frameworks in system locations and those in the SDK. The ones in system locations may not have any headers included. They are only there for the shared library portion. When you include the headers in Xcode, you are able to make a connection to the methods in the SDK version of the library. When the app is installed on a user's machine, all that is required is the dynamic library in the expected location.


You compile and link against the headers in the frameworks for your targeted platform and OS version. You can target anything that is listed in Xcode. But at runtime, you can only run what is in /System.

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

The headers of the frameworks disappear when I update to OS Maverick.

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.