Open alanhamlett opened 8 years ago
Yeah, this sounds like a great addition, how would we prompt the user though? Ideally we would not block Xcode with a regular popup
We can create a NSUserNotification.
Just have the Alcatraz interface conform to the NSUserNotificationCenterDelegate
protocol, create a shouldPresentNotification
method that returns YES
, then create a new NSUserNotification
and display it by passing it to deliverNotification
method on the NSUserNotificationCenter
.
Some examples:
Good idea! We used to have that in ATZ when installing a plugin: https://github.com/alcatraz/Alcatraz/pull/45/commits/c6c9d7aa3bd121379b3031829b4b353d972cd89b
Cool! So it seems the things needed in a PR would be:
DVTPlugInCompatibilityUUID
s.DVTPlugInCompatibilityUUID
s against the current Xcode UUID.ATZPluginWindowController.packages
display a notification if plugins are in the queue.Also, is reloadXcodeForPackage related?
When a new version of Xcode is released with a new
DVTPlugInCompatibilityUUID
there is a window of time where only Alcatraz is loaded, until Alcatraz updates each plugin. Once the plugin has been updated by Alcatraz, it won't be loaded until Xcode is relaunched and the user selectsLoad Bundles
when prompted by Xcode'sUnexpected code bundle
popup.When Alcatraz updates a plugin that requires an Xcode relaunch, Alcatraz should notify the user to relaunch Xcode and select
Load Bundles
when prompted.This can happen even if the plugin maintainer adds support for the new
DVTPlugInCompatibilityUUID
before Alcatraz does, because Alcatraz might have not updated the plugin to the latest version before the user upgrades Xcode.