• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: [Cocoadev] Problem becoming a good citizen and backwards compatible
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Cocoadev] Problem becoming a good citizen and backwards compatible


  • Subject: Re: [Cocoadev] Problem becoming a good citizen and backwards compatible
  • From: Aaron Burghardt <email@hidden>
  • Date: Sun, 14 Aug 2005 21:04:52 -0400

Hi Alexander,

I have a small project that uses the DiskArbitration framework, too, so I will have to deal with this also. I don't have a solution, but hopefully can give you some clues.

The central problem is that your binary gets linked against the DiskArbitration framework with the path /System/Library/Frameworks instead of /System/Library/PrivateFrameworks. You can verify this with otool:

    otool -L myApp.app/Contents/MacOS/myApp

and no matter what you do, Xcode resolves back to the standard path. I tried symbolic links, copying the framework to PrivateFrameworks, copying it to custom location, various linker flag configurations, and so forth.

Here are a couple ideas I haven't tried:

1. Do your own custom linking. Add the flag "-v" to Other Linker Flags and you will see in the build details the actual command that libtool uses to invoke ld. You might be able to delete the executable that Xcode produces and link the product with a custom ld to get the PrivateFrameworks path.

2. Factor out your DiskArbitration code to a framework and build just that framework on Panther. Hopefully you can keep that code small so you don't need to recompile often.

3. Edit the executable with a hex editor to change the path to the PrivateFrameworks.

There was a discussion in the last few months that went into more details on these ideas, but I couldn't find it.

hope this helps, and please post any updates you have.

Cheers,

Aaron

On Aug 13, 2005, at 3:59 AM, Alexander Griekspoor wrote:


Hi all!
I have the following problem: under Panther our program disctop made use of private APIs from the Diskarbitration framework, ouch. However, these have becoming public under Tiger, hooray! The problem is that the framework thus moved from /System/Library/ PrivateFrameworks under Panther to /System/Library/Frameworks under Tiger. For compatibility reasons there's still a symbolic link in the private frameworks folder to the new location.
The problem is that I can't get my app to work under Panther while building it on my Tiger machine using the current OS SDK. The console reports that it can't find the framework. If I have it build using the 10.3.9 SDK it starts to complain that it can't find the framework already during compile time. Does anyone have experience with this kind of situation? Should it normally work to link to private frameworks and target previous OS's?
Any suggestions are more than welcome, the last option is always to ship a Tiger and Panther version of my app, but I would like to avoid at all costs, plus at this moment I can't any Panther version at all on my Tiger machine...
Alex


*********************************************************
                    ** Alexander Griekspoor **
*********************************************************
              The Netherlands Cancer Institute
              Department of Tumorbiology (H4)
         Plesmanlaan 121, 1066 CX, Amsterdam
                  Tel:  + 31 20 - 512 2023
                  Fax:  + 31 20 - 512 2029
                  E-mail: email@hidden
            AIM: email@hidden
              Web: http://www.mekentosj.com

                 EnzymeX - To cut or not to cut
             http://www.mekentosj.com/enzymex

*********************************************************

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden




Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: [Cocoadev] Problem becoming a good citizen and backwards compatible
      • From: Dan Saul <email@hidden>
    • Re: [Cocoadev] Problem becoming a good citizen and backwards compatible
      • From: Brian Smith <email@hidden>
References: 
 >[Cocoadev] Problem becoming a good citizen and backwards compatible (From: Alexander Griekspoor <email@hidden>)

  • Prev by Date: Re: path name from Apple Event
  • Next by Date: Re: path name from Apple Event
  • Previous by thread: [Cocoadev] Problem becoming a good citizen and backwards compatible
  • Next by thread: Re: [Cocoadev] Problem becoming a good citizen and backwards compatible
  • Index(es):
    • Date
    • Thread