site_archiver@lists.apple.com Delivered-To: installer-dev@lists.apple.com Thank you for your suggestion, Stephane. I just tried this, and unfortunately, [tDocument path]) also turns out to be null on Catalina. On Mojave, it does return the path to my installer package. -Lora
On Aug 1, 2019, at 1:42 PM, Stephane Sudre <dev.iceberg@gmail.com> wrote:
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 <installer-dev@lists.apple.com> 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 (Installer-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/installer-dev/dev.iceberg%40gmail.co...
This email sent to dev.iceberg@gmail.com
-- 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 (Installer-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/installer-dev/site_archiver%40lists.... This email sent to site_archiver@lists.apple.com