Ramification Mac OS

broken image


Define ramification. Ramification synonyms, ramification pronunciation, ramification translation, English dictionary definition of ramification. There are 2 ways you should be able to get a windows copy on your mac (3 if you want to do it the illegal way) 1) The first way is simply buying a windows license, these can be found from $35 - $200 (depending on what options; Home premium, Profe. NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.

** Please note: WordPress keeps mangling my code examples by changing double dash to single dash. I tried to fix it. But it changed them all back again! If anyone knows how to get around this, please put something in the comments. **

Apple now wants you to ‘notarize' your software. This is a process where you upload your software to Apple's server so it can be scanned and certified malware free. This will probably become compulsory at some point, even (especially?) if your software isn't in the Apple app store. Apple says:

Give users even more confidence in your software by submitting it to Apple to be notarized. The service automatically scans your Developer ID-signed software and performs security checks. When it's ready to export for distribution, a ticket is attached to your software to let Gatekeeper know it's been notarized.

Ramification Mac OS

When users on macOS Mojave first open a notarized app, installer package, or disk image, they'll see a more streamlined Gatekeeper dialog and have confidence that it is not known malware.

Note that in an upcoming release of macOS, Gatekeeper will require Developer ID signed software to be notarized by Apple.

Documentation on notarization is a bit thin on the ground, especially if you want to notarize software that wasn't built using XCode (I build my software using QtCreator). So I am writing up my experiences here.

First you need to ensure you have macOS 10.14 and XCode 10 installed (with command line tools) and you need a current Apple developer account.

Codesign your app with ‘hardened runtime' using –options runtime :

codesign –deep –force –verify –verbose –sign 'Developer ID Application:' –options runtime

E.g.:

codesign –deep –force –verify –verbose –sign 'Developer ID Application: Acme Ltd' –options runtime myApp.app

A ‘hardened runtime' limits the data and resourced an application can access. I'm not sure what the exact ramification of this are. But it doesn't seem to have restrict my software from doing anything it could do previously.

You can check the signing with:

codesign –verify –verbose=4

E.g.:

codesign –verify –verbose=4 myApp.app

Now package your app into a .dmg (e.g. using DropDMG). Then upload the .dmg to Apple's servers:

xcrun altool -t osx -f –primary-bundle-id –notarize-app –username

E.g.:

xcrun altool -t osx -f myApp.dmg –primary-bundle-id com.acme.myapp –notarize-app –username me@acme.com

You will be prompted for your Apple developer password (or you can include it on the command line).

You now have to wait a few minutes. If the upload is successful 'No errors uploading ' will be shown and a unique ID will be returned. You then have to use this to request your upload be scanned:

xcrun altool –notarization-info -u Indoor sports mac os.

E.g.: Crafting blade mac os.

xcrun altool –notarization-info xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx -u me@acme.com

You will be prompted for your Apple developer password (or you can include it on the command line).

Hopefully you will see 'Status Message: Package Approved'. If the notarization fails, you should be sent a link to an online log file describing the issue. If the notarization completes successfully you need to ‘staple' the results to your .dmg:

xcrun stapler staple -v

E.g.:

Ramification Mac Os Catalina

xcrun stapler staple -v myApp.dmg

The stapler outputs a log including some odd phrases. Mine included: 'Humanity must endure', 'Let's see how that works out. ', 'Adding 1 blobs to superblob. What about Blob?' and 'Enjoy'. Weird. Hopefully it will end with 'The staple and validate action worked!'.

Finally you can unpack your .dmg into a .app and verify it with:

spctl -a -v

E.g.

spctl -a -v /Applications/myApp.app

On macOS 10.14 (but not earlier OSs) it should say 'source=Notarized Developer ID'. Your software should now run on 10.14 without a warning dialog. Congratulations!

It all seems rather clumsy. As you have to wait asynchronously for the unique ID to be returned from step 1 before you can complete step 2, it is not easy to fully automate in a script. This is a major pain the arse. If anyone works out a way to automate it the whole process, please let me know.

Here are some links to the various posts that I gleaned this information from:

https://cycling74.com/forums/apple-notarizing-for-mojave-10-14-and-beyond
https://www.mbsplugins.de/archive/2018-11-02/Notarize_apps_for_MacOS
https://forum.xojo.com/50655-how-to-codesign-and-notarise-your-app-for-macos-10-14-and-highe
https://forum.xojo.com/49408-10-14-hardened-runtime-and-app-notarization/11
https://stackoverflow.com/questions/53112078/how-to-upload-dmg-file-for-notarization-in-xcode
https://lapcatsoftware.com/articles/debugging-mojave.html

So severalpeople are reporting trouble with Leopard when after upgrading or e.g. shutting down by just holding the power button all users have lost administrator access they might have had before.

Mac

When users on macOS Mojave first open a notarized app, installer package, or disk image, they'll see a more streamlined Gatekeeper dialog and have confidence that it is not known malware.

Note that in an upcoming release of macOS, Gatekeeper will require Developer ID signed software to be notarized by Apple.

Documentation on notarization is a bit thin on the ground, especially if you want to notarize software that wasn't built using XCode (I build my software using QtCreator). So I am writing up my experiences here.

First you need to ensure you have macOS 10.14 and XCode 10 installed (with command line tools) and you need a current Apple developer account.

Codesign your app with ‘hardened runtime' using –options runtime :

codesign –deep –force –verify –verbose –sign 'Developer ID Application:' –options runtime

E.g.:

codesign –deep –force –verify –verbose –sign 'Developer ID Application: Acme Ltd' –options runtime myApp.app

A ‘hardened runtime' limits the data and resourced an application can access. I'm not sure what the exact ramification of this are. But it doesn't seem to have restrict my software from doing anything it could do previously.

You can check the signing with:

codesign –verify –verbose=4

E.g.:

codesign –verify –verbose=4 myApp.app

Now package your app into a .dmg (e.g. using DropDMG). Then upload the .dmg to Apple's servers:

xcrun altool -t osx -f –primary-bundle-id –notarize-app –username

E.g.:

xcrun altool -t osx -f myApp.dmg –primary-bundle-id com.acme.myapp –notarize-app –username me@acme.com

You will be prompted for your Apple developer password (or you can include it on the command line).

You now have to wait a few minutes. If the upload is successful 'No errors uploading ' will be shown and a unique ID will be returned. You then have to use this to request your upload be scanned:

xcrun altool –notarization-info -u Indoor sports mac os.

E.g.: Crafting blade mac os.

xcrun altool –notarization-info xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx -u me@acme.com

You will be prompted for your Apple developer password (or you can include it on the command line).

Hopefully you will see 'Status Message: Package Approved'. If the notarization fails, you should be sent a link to an online log file describing the issue. If the notarization completes successfully you need to ‘staple' the results to your .dmg:

xcrun stapler staple -v

E.g.:

Ramification Mac Os Catalina

xcrun stapler staple -v myApp.dmg

The stapler outputs a log including some odd phrases. Mine included: 'Humanity must endure', 'Let's see how that works out. ', 'Adding 1 blobs to superblob. What about Blob?' and 'Enjoy'. Weird. Hopefully it will end with 'The staple and validate action worked!'.

Finally you can unpack your .dmg into a .app and verify it with:

spctl -a -v

E.g.

spctl -a -v /Applications/myApp.app

On macOS 10.14 (but not earlier OSs) it should say 'source=Notarized Developer ID'. Your software should now run on 10.14 without a warning dialog. Congratulations!

It all seems rather clumsy. As you have to wait asynchronously for the unique ID to be returned from step 1 before you can complete step 2, it is not easy to fully automate in a script. This is a major pain the arse. If anyone works out a way to automate it the whole process, please let me know.

Here are some links to the various posts that I gleaned this information from:

https://cycling74.com/forums/apple-notarizing-for-mojave-10-14-and-beyond
https://www.mbsplugins.de/archive/2018-11-02/Notarize_apps_for_MacOS
https://forum.xojo.com/50655-how-to-codesign-and-notarise-your-app-for-macos-10-14-and-highe
https://forum.xojo.com/49408-10-14-hardened-runtime-and-app-notarization/11
https://stackoverflow.com/questions/53112078/how-to-upload-dmg-file-for-notarization-in-xcode
https://lapcatsoftware.com/articles/debugging-mojave.html

So severalpeople are reporting trouble with Leopard when after upgrading or e.g. shutting down by just holding the power button all users have lost administrator access they might have had before.

A very quick fix helps most people:

– Restart
– Hold down Apple + S when the first blue/greyish screen appears to boot into single user mode
– The hard drive is mounted read-only so we have to do
$ /sbin/fsck -fy
$ /sbin/mount -uw /
– Now the system's standard root user (whom we are at the moment) gets a password (any will do) so we can log in with it
$ passwd
$ exit
– Click on 'Other' in the Login Window and login as user 'root' with the password you have just assigned to him
– Use 'System Preferences' -> 'Accounts' to give administrator access back to the users whom you want to have it
– Log out
– Log in with your newly re-appointed administrator, launch Directory Utility, authenticate by clicking on the lock icon and disable the root user via 'Edit' -> 'Disable Root User'

Most users live happily ever after but for some this simply doesn't work. Specifically System Preferences seems to immediately 'forget' that you want a specific user to be an administrator. You tick the box, you click on another user or click the lock and then when you click on your desired administrator again the box is unchecked once more.

The more curious among us will at this time already have checked the system logs where most likely the message 'mbr_group_name_to_uuid failed with err=2' sticks out. At the usual places (discussions.apple.com, et al) people will want you to insert your installation disk, use a password utility, reboot repeatedly, even reinstall your OS X or just pray.

Well, welcome to panoramification where everything is different ;)

What we'll do is the following:

– back to single user mode as described above, also do the fsck and mounting
1. load directory services:
$ launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServices.plist
2. Try to add a user to the admin group, use the shortname of the user for this
$ dscl . append /groups/admin GroupMembership myuser
– If this works: congratulations. Reboot and you're done! If however it fails with
=> DS Error: -14009 (eDSUnknownNodeName)
4. then try to create this group with its standard id of 80
$ dseditgroup -o create -i 80 admin
– if it works, skip to 9. If it fails with
=> ERROR: A Directory Service error occured.
14135: eDSRecordAlreadyExists
5. then try to delete the (apparently corrupted) group first
$ dseditgroup -o delete admin
– if this works, skip to 8. If it fails with the mind-blowing
=> ERROR: A Directory Service error occured.
14136: eDSRecordNotFound
6. we should check out the admin.plist file
$ cat /var/db/dslocal/nodes/Default/groups/admin.plist
7. if this file does not contain anything meaningful (should be an xml file) then the system is fooled into believing the group exists but can't actually 'initialize' it. We'll remove the empty/corrupted file
$ rm /var/db/dslocal/nodes/Default/groups/admin.plist
8. … create a new group 'from scratch'
$ dseditgroup -o create -i 80 admin
9. … and add our user to it
$ dscl . append /groups/admin GroupMembership myuser
10. All is done now, reboot and enjoy!
$ reboot
Of course an empty group.plist is a fairly trivial problem that any system created after the year 1996 should take care of automatically but well. Apple can't always be on the bleeding edge *cough*.

I've posted some more detail on this in the apple.com forums.

Yandere runner prototype mac os. Feel free to leave a comment if any of this doesn't help you out and I'll look into it some more.

Excellent! Thank you much for taking the time to write up this fix.

Ramification Mac Os X

This is awesome thank you so much! best fix i've found.

one side note, this works fine if you've already enabled the root user without launching single user mode.

hey, so im having some trouble. I am at the step to 'create this group with its standard id of 80' I get an error but not the 14135 warned about. I get '-14270 eServerNotRunning' I then tried
$ rm /var/db/dslocal/nodes/Default/groups/admin.plist but got the same error. What do I do? (p.s. this is my first time working with this stuff so simple explanations are probably needed.

This saved my ass!!! Apple XServe OS X has this problem too when the HD gets low due to enormous Apple updates downloading.

Wow, Amazing!

Thanks for this … I've been trying to solve this problem for some time and none of the other fixes I've come across have worked.

This worked straight off. Will be visiting your site from now on …

Cheers!

Hi, I've left this unresolved for the past year and finally took the time to go through your methods. Thank you so much!

Someone necessarily assist to make critically articles I would state.
That is the very first time I frequented your web page and thus far?
I surprised with the analysis you made to create this actual publish extraordinary.
Great task!

This is still a concise and detailed process document that still works (after 6 years)—very nice.

The only minor revision I have is in step '8. … create a new group ‘from scratch'' –you can copy a fresh admin.plist into the current ('broken') plist. The revised step 8 would be…

Mac Os Mojave

8. … copy a fresh admin group .plist into active path (mind the spaces in command below)
$ cp /System/Library/DirectoryServices/DefaultLocalDB/Default/groups/admin.plist /private/var/db/dslocal/nodes/Default/groups/

Mac Os Catalina

I feel like an idiot as I'm looped in:
It's an older, small iMac (white)
Any idea to fix this?
Would be very kind of you.
Best wishes,
Ivo

oups… actually I've written $ passwd: Unable to change the password for record root . eDSRecordNotFound
I used






broken image