Re: Installing/distributing frameworks
Re: Installing/distributing frameworks
- Subject: Re: Installing/distributing frameworks
- From: Scott Tooker <email@hidden>
- Date: Sun, 29 Jul 2001 11:08:10 -0700
Check out the documentation at:
http://developer.apple.com/techpubs/macosx/SystemOverview/SystemOverview/Frameworks/
index.html
This covers how frameworks are versioned. The short answer is that
there is a major version (A, B, C, ...) and a minor version (1, 2,
3, ...), but this versioning is not as fine grained as Mac OS 9
versions were. Also, it doesn't matter where the application lives,
finding frameworks is independent of this. The advantage to placing
your application in /Applications or /Developer/Applications is
that LaunchServices automatically scans those directories for
document binding information, otherwise the application is scanned
when first run.
Right now, if you are going use a framework across multiple
applications, I would place the framework in /Library/Frameworks.
While it is possible to package frameworks inside you application,
this way of packaging applications is not fully supported (for
example, currently there is no easy way to prebind frameworks that
reside inside an application package). Obviously, having robust
support for frameworks in application packages is important for a
good "drag & drop " story, but I can't say when such improvements
would come.
BTW,
http://developer.apple.com/techpubs/macosx/SystemOverview/SystemOverview/AppPackaging/
index.html discusses the SharedFrameworks and SharedSupport
directories. AFAIK, these have not been implemented in the current
released version of Mac OS X (10.0.4).
Scott
On Sunday, July 29, 2001, at 10:03 AM, R. Tony Goold wrote:
>
> There is a system code which makes a list of all possible
>
> frameworks, and makes sure that apps use the most recent one
>
> (even should it be from a different application). There is a
>
> proper support for apps which need older version, etc. So, this
>
> is supported quite well.
>
>
I'm very curious to understand how this works... If I have
>
/Applications/Poodle.app containing Dog.framework 1.0 and
>
/Applications/Terrier.app containing Dog.framework 1.1, does this
>
mean the next time I run Poodle.app it will use Dog.framework 1.1
>
(from Terrier.app)
>
unless its code explicitly states that it only wants up to 1.0?
>
Does this only apply to applications installed in the
>
/Applications (and /Developer/
>
Applications?) folders?
>
>
If so, then it would be possible to write a script that, run as
>
root, copies the latest framework into /Library/Frameworks and
>
removes it (or replaces it with a stub) in all applications that
>
do not restrict the framework version (assuming this is easy to
>
determine programmatically), correct?
>
>
>
Cheers,
>
Tony
>
_______________________________________________
>
cocoa-dev mailing list
>
email@hidden
>
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Scott Tooker
QA & Integration - Project Builder
Mac OS X Development Environment