Contribute
Register

HackinDROM App for OpenCore EFI Creation and Update

Swift:
import UserNotifications
func registerForPushNotifications() {
  //1
  UNUserNotificationCenter.current()
    //2
    .requestAuthorization(options: [.alert, .sound, .badge]) { granted, _ in
      //3
      print("Permission granted: \(granted)")
    }
}

More: https://www.raywenderlich.com/11395893-push-notifications-tutorial-getting-started
Hello @scv9,
I'm using this function to ask user to allow Notifications for HackinDROM App
as I know we can't send this request again when user don't allow it, so we have to allow it manually from System Preferences > Notifications
Now I added a workaround to notify user that Notifications for this app are denied and you have to allow it manually. Will search more about this.

Now I'm trying to understand the usage of your drive disk0, there's 2 EFI partitions on it (Thats why you see 2 "TimeMachine", but the second's name is probably wrong), please give me more info about disk0.

From what I understand you are using 860 EVO 1TB for your Time Machine backups which is formatted in APFS and you have 2 different macOS backups on that drive, in this case having 2 "TimeMachine" is correct.
To better distinguish these 2 macOS Backups I can change their name to Time Machine 1, 2 etc.
 
Last edited:
Hi, @Inqnuam

we can't send this request again when user don't allow it

As I understand we can do smith like

Swift:
func getNotificationSettings() {
  UNUserNotificationCenter.current().getNotificationSettings { settings in
    print("Notification settings: \(settings)")
  }
}

please give me more info about disk0
Screenshot 2021-08-14 at 14.52.57.png


When I mount one of TimeMachine partitions, second is mounted too, and name is the same, so I assume it is the same partition, also we can make sure of it by look on previous screenshot.

Screenshot 2021-08-14 at 14.57.38.png

One another thing to improve - autofocus on password field when ask for permissions to mount drive.

Screenshot 2021-08-14 at 14.59.46.png
 
Last edited:
As I understand we can do smith like

Swift:
func getNotificationSettings() {
UNUserNotificationCenter.current().getNotificationSettings { settings in
print("Notification settings: \(settings)")
}
}
the callback settings have these 3 values:
.allowed = true/false
.denied = true/false
.notDetermined = true/false

.denied is true when use click on one of the buttons:
Screen Shot 2021-08-14 at 14.34.10.png


if .denied is true
Then we can't send a new authorization for notifications request
In this case in next release I added a button to open Notifications system panel:
Screen Shot 2021-08-14 at 15.11.55.png

When I mount one of TimeMachine partitions, second is mounted too, and name is the same, so I assume it is the same partition, also we can make sure of it by look on previous screenshot.
This is a bug so it is incorrectly detected. As you can see in disk1 (TimeMachine drive?) there is 3 different partitions, 2 EFI and 1 AFPS:
Screenshot 2021-08-14 at 14.52.57.png

I fixed in in next release. But I have to find something to put as name for the second "Virtual" EFI which is detected from macOS backup, I think as I said ill set them like TimeMachine 1, 2 etc.

One another thing to improve - autofocus on password field when ask for permissions to mount drive.

Screenshot 2021-08-14 at 14.59.46.png
This method of authorization isn't used anymore in next release because it is not very secure.
I finally found a secure way to mount drives. Will give more info when next version is released.
 
Last edited:
Then we can't send a new authorization for notifications request
Its a pity!

In this case in next release I added a button to open Notifications system panel
Good solution!

TimeMachine drive?
Correct. Strange... Cannot recall which is a purpose of 2-nd efi partition. Looks like faulty created.

I fixed in in next release
Looking forward for it!

ill set them like TimeMachine 1, 2
Not bad, may produce some misunderstanding, also it is not TimeMachine itself, just boot partition. 1,2 - sounds good.

I finally found a secure way to mount drives
Very interesting, what is a way that not need an authorisation step?

Will give more info when next version is released
So excited, cannot wait to see it in action =)
 
Its a pity!
I thinks its good step from Apple, otherwise developers can spam us with Notifications Requests
Good solution!
Yes it works pretty well
Correct. Strange... Cannot recall which is a purpose of 2-nd efi partition. Looks like faulty created.
Usually we should have only one EFI partition

Very interesting, what is a way that not need an authorisation step?
So excited, cannot wait to see it in action =)
We still need authorization but the method to get it is different now, it uses macOS native API. It isn't the case up to v1.5.0
 
Last edited:
may produce some misunderstanding, also it is not TimeMachine itself, just boot partition.
HackinDROM uses custom names for EFI partitions, if we present EFI standard Volume Name we will get "EFI" "EFI 1" "EFI 2"
HackinDROM tries to find another partition on the same disk which could be related to that EFI then its name is presented to user which is more user friendly
 
What do you think about combining TimeMachine EFI 1 ....
macOS EFI naming isn't used by HackinDROM, so we will never have these "EFI 1" names,
instead HackinDROM renames it to EFI-*Vendor's name's first 3 characters*-*Disk's Serial Number's last 3 characters*
ex:
EFI-SAM-33L
It will always be the same name for that drive because Vendor and Serial Number are immutable.
Screen Shot 2021-08-14 at 16.33.51.png

Also in the time it help us to identify our EFI partitions quickly

Every EFI mounted by HackinDROM will have that naming, and will be renamed back to "EFI" when you unmount it thought the App
 
Salut @Inqnuam ,

I'm unable to update from OC 0.6.9. HackinDROM Thinks I'm using some kind of OC Beta, but I've installed OpenCore and updated regularly with HackinDROM.

Screenshot 2021-08-16 at 15.09.41.png

Hackintool has no problem to identify the OpenCore version though as you can see in the picture below :
Screenshot 2021-08-16 at 15.10.51.png
 
Salut @Inqnuam ,

I'm unable to update from OC 0.6.9. HackinDROM Thinks I'm using some kind of OC Beta, but I've installed OpenCore and updated regularly with HackinDROM.

Hackintool has no problem to identify the OpenCore version though as you can see in the picture below :
Salut @Marcet,
Hackintool detects currently running OC on your system, not OC from a specific EFI partition.
Please show the full content of your EFI folder in Finder, Boot and OC folders expended like in the screenshot below.
Screen Shot 2021-08-16 at 15.25.57.png
 
Back
Top