Posts

Post not yet marked as solved
25 Replies
26k Views
How I can force HiDPI on external monitor 2560x1440 to use it as virtual 1280x720 in Big Sur? RDM doesn't show any Retina resolution. I tried to generate displayproductid-***.plist for my monitor using a script: codeclou.github.io/Display-Override-PropertyList-File-Parser-and-Generator-with-HiDPI-Support-For-Scaled-Resolutions/ But ioreg -l | grep "DisplayProductID" ioreg -l | grep "DisplayVendorID" returns nothing. Also I tried this script: github.com/xzhih/one-key-hidpi - doesn't work, too. Note that this folder cannot be modified even when SIP is disabled: /System/Library/Displays/Contents/Resources/Overrides/
Posted
by wnsoft.
Last updated
.
Post not yet marked as solved
4 Replies
2.4k Views
Hi, I have a problem with replacing altool to notarytool to notarize my app for distribution outside AppStore. Earlier I used this code (-p passes App's password): xcrun altool --notarize-app --primary-bundle-id "MyProductBundleID" -u "myname@gmail.com" -p "wxxx-xxxx-xxxx-xxxx" --file MyProduct.zip I wrote a new script: xcrun notarytool submit MyProduct.zip --keychain-profile "wxxx-xxxx-xxxx-xxxx" --wait Error with unknown "--keychain-profile".
Posted
by wnsoft.
Last updated
.
Post not yet marked as solved
3 Replies
851 Views
Hi, I distribute my app for macOS outside AppStore. I implemented Auto Update function which worked perfectly up to Ventura 13.0. And it was broken since Ventura 13.1+ The old version of my app downloads a ZIP arhive with a new version to temporary folder and unpack it to User's Library > Application Support > My AppFolder. The new unpacked version gets attribute com.apple.quarantine and the old app cannot run it. Before Ventura 13.1 the new unpacked app could be run successfully and it closes the old version and replaces the old APP bundle in Applications. And then a copy of new app in a temporary folder is being deleted. In fact, the new APP could work as an agent to perform the update of my app. Both apps (old and new) are signed and notarized by one team (the same signature).
Posted
by wnsoft.
Last updated
.
Post marked as solved
3 Replies
950 Views
Hi, How to correctly check notarization for my product for DMG and APP bundle? For APP, if I use this command: spctl -a -v 'MyProduct.app' It shows OK for my Mac where I compiled and signed this APP, even if this APP was NOT notarized. And this command correctly detects missing or failed notarization: spctl -a -vvv -t install 'MyProduct.app' For DMG I used this command: spctl -a -t open --context context:primary-signature MyProduct.dmg -v However I'm not sure that all these commands on 100% validate successful/absent/failed notatization.
Posted
by wnsoft.
Last updated
.
Post not yet marked as solved
4 Replies
7.3k Views
Hi, I think that a visual quality of hardware video encoder (VideoToolBox H.264) in M1 Macs is not great. I compared a software libx264 encoder (Mac) and NVIDIA Geforce (NVENC) on Windows 10 with the same bitrate or constant quality mode producing almost identical file size. I see many visual artefacts on a video encoded with VideoToolBox H.264 (1080p 60 fps) 3300K or CQ56. It's especially noticeable on video with animated photo slideshows and blur effect. Too many artefacts. NVENC and libx264 produce much better visual results with the same file size. I tested in my app and in Handbrake Beta for M1 which supports VideoToolBox H.264 encoding. Apple engineers can contact me for more details.
Posted
by wnsoft.
Last updated
.
Post not yet marked as solved
1 Replies
760 Views
After restarting macOS opens Terminal app (which was opened before a restart). And Terminal ignores all custom global environments. This bug exists in Big Sur and Catalina. If close Terminal app and launch manually everything is OK. I write custom global environments to environment.plist file which is placed in user's home folde > Library > LaunchAgents and then loaded: launchctl load /Users/myprofilename/Library/LaunchAgents/environment.plist launchctl start /Users/myprofilename/Library/LaunchAgents/environment.plist I need custom global environments to set a variable to my working directory which is used in compilation scripts.
Posted
by wnsoft.
Last updated
.
Post marked as solved
1 Replies
759 Views
We simulate Gaussian blur as a Box Blur with complex shader (several passes on two axises) using Metal on Mac. I noticed slight fast pulsation of picture brightness when we reach radius more than 16 pixels in a fragment shader (we read 32+ pixels from a source texture to calculate 1 output pixel). We use float4 calculations. This issue appears only on M1 Mac and only after sleep. The problem dissappears after restarting macOS. And no problem on Intel iMac with AMD graphics. These artefacts appear in macOS Monterey 12.4 and also in macOS 13 Ventura Beta 1 on M1 Mac mini. We don't have any problem with other more simple shaders.
Posted
by wnsoft.
Last updated
.
Post not yet marked as solved
2 Replies
3.1k Views
Hi,I have serious difficulties with offscreen rendering in Metal or macOS. I can't find any example/demo project with solely offscreen rendering without any MTKView on 2nd pass. Just rendering to a texture with copying to a bitmap in system memory.My code works strange, it returns a black picture on first run and starts to render frames only if I call rendering on timer event or on a button click. If I call rendering in a loop, it always returns a black picture.I have no problem with usual rendering with MTKView.
Posted
by wnsoft.
Last updated
.
Post marked as solved
4 Replies
2.4k Views
How to correctly install codesign certificates on second Mac? I have first Mac where I successfully sign and notarize my apps for macOS outside AppStore. On second Mac I downloaded existing "Developer ID Installer" and "Developer ID Application" certificates and installed in KeyChain. Also I downloaded and installed Intermediate Certificate. When I try to sign anything on second Mac I see the error: "error: The specified item could not be found in the keychain." Also I have a file "CertificateSigningRequest.certSigningRequest" saved from first Mac. No idea how to use it. What I missed in this nightmare to get it work? And keep codesigning on first Mac, too.
Posted
by wnsoft.
Last updated
.
Post not yet marked as solved
2 Replies
1.4k Views
There is a big mess and lack of information about adapting macOS apps for the notch in new MacBook Pro 14" and 16". I simply want to keep the notch in a normal window size. And hide the notch when user switches the main window to a fullscreen mode. I thought that I should add NSPrefersDisplaySafeAreaCompatibilityMode key to a Info.plist. But now I don't know HOW my app will look with this key. Does NSPrefersDisplaySafeAreaCompatibilityMode key gives the same visual result as "Scale to fit below built-in camera" in Finder for a certain app? Or not? When I watched a video where it was shown how "Scale to fit below built-in camera" works, I'm now in a panic, because this option reduced the app window proportionally increasing black borders on the left, right and top sides. It's the most terrible solution which could be chosen. My app should look correctly with a normal window size. And I need the solution only for a fullscreen mode, keeping the same screen width and reducing only top area. Not reducing the entire window! UPD. I think that we will recommend our customers to contact with Apple regarding the notch problem on their new Macbook Pro in a fullscreen mode. I don't see any good solution on our side. We'll remove NSPrefersDisplaySafeAreaCompatibilityMode key and keep things "as is".
Posted
by wnsoft.
Last updated
.
Post marked as solved
2 Replies
1.2k Views
Hi, I have a question regarding expired codesign certificate. Will users able to install my old app from a DMG when a codesign certficate gets expired? I sign the app bundle and then sign the DMG package. After reading this official information: https://developer.apple.com/support/certificates/ I don't understand it clearly. Apple declares that installed app continues to work, but "users can no longer launch installer packages for your Mac applications". Does it mean that app from a DMG also cannot be mounted and copied to Applications by users? Quote: "Developer ID Installer Certificate (Mac applications) If your certificate expires, users can no longer launch installer packages for your Mac applications that were signed with this certificate. Previously installed apps will continue to run however new installations won't be possible until you have re-signed your installer package with a valid Developer ID Installer certificate. If your certificate is revoked, users will no longer be able to install applications that have been signed with this certificate."
Posted
by wnsoft.
Last updated
.
Post not yet marked as solved
1 Replies
739 Views
Hi, I suggest Apple to more frequently reply to software developers. My previous replies didn't get any reply or help from Apple. Also many questions from other developers were not answered. I guess that so large company can pay more attention to their sofware developers. We really need more help and replies from Apple to create good software apps for macOS and iOS.
Posted
by wnsoft.
Last updated
.
Post not yet marked as solved
3 Replies
1.3k Views
When I check notarization on Mac Mini with M1 chip: bash-3.2$ spctl -a -t exec -vvv '/Applications/My.app' It shows many useless warnings in output. Regardless the app I check. macOS 11.2.3 (20D91), Xcode 12.4 objc[19507]: Class SPExecutionPolicy is implemented in both /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy and /usr/sbin/spctl. One of the two will be used. Which one is undefined. objc[19507]: Class AppWrapper is implemented in both /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy and /usr/sbin/spctl. One of the two will be used. Which one is undefined. objc[19507]: Class AppWrapperPolicyResult is implemented in both /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy and /usr/sbin/spctl. One of the two will be used. Which one is undefined. objc[19507]: Class AppWrapperPolicy is implemented in both /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy and /usr/sbin/spctl. One of the two will be used. Which one is undefined. objc[19507]: Class SPLog is implemented in both /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy and /usr/sbin/spctl. One of the two will be used. Which one is undefined. objc[19507]: Class MIS is implemented in both /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy and /usr/sbin/spctl. One of the two will be used. Which one is undefined. objc[19507]: Class SPExecutionHistoryItem is implemented in both /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy and /usr/sbin/spctl. One of the two will be used. Which one is undefined. objc[19507]: Class SPExecutionPolicyItem is implemented in both /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy and /usr/sbin/spctl. One of the two will be used. Which one is undefined. objc[19507]: Class SPDeveloperPolicy is implemented in both /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy and /usr/sbin/spctl. One of the two will be used. Which one is undefined. objc[19507]: Class GKScanResult is implemented in both /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy and /usr/sbin/spctl. One of the two will be used. Which one is undefined. /Applications/My.app/: accepted source=Notarized Developer ID origin=Developer ID Application: MYCOMPANY LLC (RDXXXXXXX) These warnings don't appears when I do the same on Intel Mac with the same macOS version 11.2.3
Posted
by wnsoft.
Last updated
.
Post marked as solved
7 Replies
4.5k Views
I have a misterous problem with checking DMG notarization. It fails: bash-3.2$ spctl -a -t open --context context:primary-signature -v MyApp.dmg MyApp: rejected source=no usable signature However this DMG installs fine on Big Sur 11.2.2, macOS allows to run this app, and checking of notarization for installed app was passed: bash-3.2$ spctl -a -v '/Applications/MyApp.app' /Applications/MyApp.app: accepted source=Notarized Developer ID I checked other downloaded apps (Intel or Universal). Some DMG files pass DMG notarization (for example, Audacity), and some fails (PerfectTablePlan). Why? For my app (Universal) I use the following code to codesign and notarize: codesign --timestamp --options runtime --force --deep -s "Developer ID Application: MYCOMPANY" "My.app" // Creating DMG with EULA license xcrun altool --notarize-app --primary-bundle-id MyApp -u "my@email.com" -p "abc123" --file MyApp.dmg xcrun stapler staple MyApp.dmg
Posted
by wnsoft.
Last updated
.