Re: Getting path to pkg
Re: Getting path to pkg
- Subject: Re: Getting path to pkg
- From: Stephane Sudre via Installer-dev <email@hidden>
- Date: Thu, 1 Aug 2019 22:42:47 +0200
Maybe you can try this:
----8<--------8<--------8<--------8<--------8<--------8<--------
#import <InstallerPlugins/InstallerPlugins.h>
@interface FindPkgPathPane : InstallerPane
@end
----8<--------8<--------8<--------8<--------8<--------8<--------
#import "FindPkgPathPane.h"
@interface InstallerSection (Apple_Private)
- (id)distribution;
@end
@interface IFDistXMLDocument : NSObject
- (NSString *)path;
@end
@implementation FindPkgPathPane
- (void)willEnterPane:(InstallerSectionDirection)dir
{
IFDistXMLDocument * tDocument=(IFDistXMLDocument *) [[self section]
distribution];
NSLog(@"Path %@",[tDocument path]);
}
- (NSString *)title
{
return [[NSBundle bundleForClass:[self class]]
localizedStringForKey:@"PaneTitle" value:nil table:nil];
}
@end
On Thu, Aug 1, 2019 at 8:41 PM Lora Lozano via Installer-dev
<email@hidden> wrote:
>
> Hi,
>
> In my plugin code, I’m leveraging the code in
> https://lists.apple.com/archives/Installer-dev/2008/Nov/msg00017.html to get
> the path to my installer pkg. This has been working for me for the past few
> years on all the Mac OSes that have been released, but it’s not working for
> me on Catalina. I tried this on the latest Catalina beta release (currently
> beta 5), but the NSWindow window, and thus its delegate, turns out to be
> null, which then causes my installer to crash with [NSURL
> initFileURLWithPath:]: nil string parameter when my code calls
> initFileURLWithPath.
>
> As a test, I copied Apple's Installer application
> (/System/Library/CoreServices/Installer.app) from my Mojave machine to my
> Catalina machine and launched my installer on Catalina using that, and the
> crash doesn't happen. The NSWindow and its delegate are not null.
>
> Was there a change to the Catalina Installer.app that requires me to update
> my code?
>
> Here’s the code from
> https://lists.apple.com/archives/Installer-dev/2008/Nov/msg00017.html that my
> code is based off of:
>
> #import <Cocoa/Cocoa.h>
> #import <InstallerPlugins/InstallerPlugins.h>
>
>
> @interface HowToMakeAnAppleEngineerScream : InstallerPane
> {
> }
>
>
> @end
>
>
> #import "HowToMakeAnAppleEngineerScream.h"
>
>
> @interface PageController : NSObject
> {
> }
>
>
> - (id)distribution;
>
>
> @end
>
>
> @interface IFDocument : NSObject
> {
> }
>
>
> - (id)path;
>
>
> @end
>
>
>
> @implementation HowToMakeAnAppleEngineerScream
>
>
> - (NSString *)title
> {
> return [[NSBundle bundleForClass:[self class]]
> localizedStringForKey:@"PaneTitle" value:nil table:nil];
> }
>
> - (void) didEnterPane:(InstallerSectionDirection) inDirection
> {
> NSWindow * tWindow;
> PageController * tPageController;
>
> tWindow=[NSApp keyWindow]; // This should be improved IMHO
>
> tPageController=(PageController *) [tWindow delegate];
>
> if (tPageController!=nil)
> {
> NSLog(@"This is the package path: %@",[[tPageController distribution] path]);
> }
> }
>
> Any help would be greatly appreciated. Thanks in advance.
>
> -Lora
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Installer-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
--
Packaging Resources - http://s.sudre.free.fr/Packaging.html
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Installer-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden