Well, I found a workaround. I'll use my own signature + hash of the file, this info will be encoded in the filename and then checked after downloading. So nobody will not able to replace the file, even Apple.
Post
Replies
Boosts
Views
Activity
I support this request. I also can't use external Dell monitor with HiDPI mode.
Sometimes codesign for a DMG doesn't work correctly:
codesign -s "Developer ID Application: COMPANY" --timestamp -i MyApp MyApp.dmg
I got an error:
"The timestamp service is not available."
and DMG was not completely signed. APP bundle was signed correctly (a minute earlier) and notarized (several minutes later).
I re-launched the script again and next time DMG was signed rightly.
Another question. I build a special ZIP with APP bundle for Auto Update feature. This ZIP is being notarized.
How I can check that APP bundle is notarized and a difference with only codesigned APP bundle?
spctl -a -t exec -vvv MyApp.app
always shows the same result for codesigned APP, regardless notarization:
MyApp.app/: accepted
source=Notarized Developer ID
origin=Developer ID Application: COMPANY (RDPXXXXXX)
Quinn,
Thanks for your reply and advices!
I added codesign for a DMG image. And then spctl shows that DMG is correct:
MyApp.dmg: accepted
source=Notarized Developer ID
It seems that many Mac developers (including me) were not aware that it also necessary to codesign DMG in addition to codesigning of APP bundle and notarization.
2. Probably I found a typo in your article "Testing a Notarised Product". It says:
Disk image
spctl -a -t open -vvv --context context:primary-signature WaffleVarnish.dmg
However this command shows nothing for any correctly notarized app (including my app, Chrome, Audacity, etc).
If I add "-v" to your command:
spctl -a -t open -vvv --context context:primary-signature WaffleVarnish.dmg -v
It shows a result for Chrome:
googlechrome.dmg: accepted
source=Notarized Developer ID
Ops, sorry! My fault. The problem is solved.
Quinn,
I submitted a bug-report: FB8984202
Quinn,
Thanks for your reply.
I have no problem with notarization (it works) except of weird error about deprecated function in Terminal.
I tried to exclude -p and enter password on request from Terminal. The same message appears. I don't use any quotas.
Then I checked --list-providers as you suggested:
xcrun altool --list-providers -u my@email.com -p mypassword
2021-01-27 14:03:25.616 altool[22323:119084] CFURLRequestSetHTTPCookieStorageAcceptPolicy_block_invoke: no longer implemented and should not be called
ProviderName ProviderShortname PublicID														 WWDRTeamID
WnSoft LLC	 WnSoftLLC				 69a6xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx XXXXXXXXXXXX
It would be nice if Apple could fix it to avoid confusion.
I have exactly the same problem as crlab reported.
I get this error:
CFURLRequestSetHTTPCookieStorageAcceptPolicyblockinvoke: no longer implemented and should not be called and I don't use quotas:
xcrun altool --notarize-app --primary-bundle-id XXXXX -u my@email.com -p MYPASS --file my.dmg
Intel Mac or M1 Mac. Both with Big Sur 11.1
Thanks for your all replies.
I found a solution:
Localization doesn't work if I use a symbolic link to an executable file.
The cross-platform compiler (Freepascal) created an executable outside APP bundle, and a symbolic link inside /MacOS folder.
It seems to be a bug in macOS, because I run APP bundle and localization must work. So I copied manually real executable to /MacOS folder (as for a release version) and now everything works fine.
2. Also I discovered that I can use one of two options:
A. Add CFBundleLocalizations records for each supported language.
B. Or add an empty folder for each language in /Contents/Resources - fr.lproj , de.lproj , etc.
Any of these variants for to use OS language in NSOpenPanel and NSSavePanel.
I hope that this info will be useful for for somebody else.
All internal localization in my cross-platform app are stored in other files.
I tried to add an empty fr.lproj folder in /Resources - no result.
I checked VLC app with a correct NSOpenPanel. It contais fr.lproj in /Resources/ > InfoPlist.strings:
CFBundleName = "VLC";
CFBundleDisplayName = "VLC";
CFBundleShortVersionString = "3.0.11.1";
CFBundleGetInfoString = "Copyright © 1996-2020 the VideoLAN team";
NSHumanReadableCopyright = "Copyright (c) 1996-2020 VLC authors and VideoLAN";
I added the same InfoPlist.strings file to my fr.lproj - the same result - everything in NSOpenPanel on English
Hi,
Please can you publish a complete simple test example - to add EULA to a DMG?
I tried to use example script from above. But I can't find full my-eula.plist.template and my-eula.plist files.
Thanks in advance!
I need to enable HiDPI.
How you find DisplayVendorID-* for your external monitor?
I tried this command:
ioreg -lw0 | grep IODisplayPrefsKey
but it returns nothing on Apple DTK with Big Sur.
In my company we always reply to our customers.
It was a big mistake to delete SVN from Xcode. Nightmare for many developers.
On Intel Macs SVN still available in Command Line Tools for Big Sur:
/Library/Developer/CommandLineTools/usr/bin/svn
Create a symlink to use "svn" command as usually:
ln -s /Library/Developer/CommandLineTools/usr/bin/svn svn
Alternate solution:
brew install svn
(install homebrew package firstly).
2. I found a solution for Mac with Apple M1. Copy SVN binaries and dylibs from Intel Mac.
mkdir svn_backup
cd svn_backup
mkdir bin
mkdir lib
cd ..
scp /Library/Developer/CommandLineTools/usr/bin/svn* svn_backup/bin
scp /Library/Developer/CommandLineTools/usr/lib/libsvn_*.dylib svn_backup/lib
scp /Library/Developer/CommandLineTools/usr/lib/libserf*.dylib svn_backup/lib
then copy executables to /usr/local/bin
and copy dylibs to /usr/local/lib
on Mac on Apple M1 chip.
SVN will work via Rosetta 2 emulation.
Make a backup of these files to use it in future macOS versions.