Skip to main content
Better to not promise an update, just make the answer current and fix it if and when an update is ready to post.
Source Link
bmike
  • 246.4k
  • 80
  • 444
  • 1k

This issue seems to occur if you have no ARM format binaries in the MacOS folder. I have found 2 solutions to this bug. One is to just include a ARM binary in the .app/Content/MacOS, even if it does nothing and is used by nothing. You can generate one by running echo 'int main() {return 0;}' | clang -x c -o empty-bin -, and verify it is arm64 by doing lipo -info empty-bin. The other, saner option is to add the following to your plist:

<key>LSArchitecturePriority</key>
<array>
    <string>arm64</string>
</array>

The issue is, MacOS seems to be caching the rosetta flag somewhere outside of the usual places. If I findThe only improvement would be if someone finds a way to clear the flag, I'll update this post, but currently instead of changing the only fix I have is to change your CFBundleIdentifier in the plist. 

If you get thatthe rosetta window appears even once, that bundleId will always bring up thatsummon the window.

This issue seems to occur if you have no ARM format binaries in the MacOS folder. I have found 2 solutions to this bug. One is to just include a ARM binary in the .app/Content/MacOS, even if it does nothing and is used by nothing. You can generate one by running echo 'int main() {return 0;}' | clang -x c -o empty-bin -, and verify it is arm64 by doing lipo -info empty-bin. The other, saner option is to add the following to your plist:

<key>LSArchitecturePriority</key>
<array>
    <string>arm64</string>
</array>

The issue is, MacOS seems to be caching the rosetta flag somewhere outside of the usual places. If I find a way to clear the flag, I'll update this post, but currently the only fix I have is to change your CFBundleIdentifier in the plist. If you get that rosetta window even once, that bundleId will always bring up that window.

This issue seems to occur if you have no ARM format binaries in the MacOS folder. I have found 2 solutions to this bug. One is to just include a ARM binary in the .app/Content/MacOS, even if it does nothing and is used by nothing. You can generate one by running echo 'int main() {return 0;}' | clang -x c -o empty-bin -, and verify it is arm64 by doing lipo -info empty-bin. The other, saner option is to add the following to your plist:

<key>LSArchitecturePriority</key>
<array>
    <string>arm64</string>
</array>

The issue is, MacOS seems to be caching the rosetta flag somewhere outside of the usual places. The only improvement would be if someone finds a way to clear the flag instead of changing the CFBundleIdentifier in the plist. 

If the rosetta window appears even once, that bundleId will always summon the window.

added 2 characters in body
Source Link

This issue seems to occur if you have no ARM format binaries in the MacOS folder. I have found 2 solutions to this bug. One is to just include a ARM binary in the .app/Content/MacOS.app/Content/MacOS, even if it does nothing and is used by nothing. You can generate one by running echo 'int main() {return 0;}' | clang -x c -o empty-bin -, and verify it is arm64 by doing lipo -info empty-bin. The other, saner option is to add the following to your plist:

<key>LSArchitecturePriority</key>
<array>
    <string>arm64</string>
</array>

The issue is, MacOS seems to be caching the rosetta flag somewhere outside of the usual places. If I find a way to clear the flag, I'll update this post, but currently the only fix I have is to change your CFBundleIdentifier in the plist. If you get that rosetta window even once, that bundleId will always bring up that window.

This issue seems to occur if you have no ARM format binaries in the MacOS folder. I have found 2 solutions to this bug. One is to just include a ARM binary in the .app/Content/MacOS, even if it does nothing and is used by nothing. You can generate one by running echo 'int main() {return 0;}' | clang -x c -o empty-bin -, and verify it is arm64 by doing lipo -info empty-bin. The other, saner option is to add the following to your plist:

<key>LSArchitecturePriority</key>
<array>
    <string>arm64</string>
</array>

The issue is, MacOS seems to be caching the rosetta flag somewhere outside of the usual places. If I find a way to clear the flag, I'll update this post, but currently the only fix I have is to change your CFBundleIdentifier in the plist. If you get that rosetta window even once, that bundleId will always bring up that window.

This issue seems to occur if you have no ARM format binaries in the MacOS folder. I have found 2 solutions to this bug. One is to just include a ARM binary in the .app/Content/MacOS, even if it does nothing and is used by nothing. You can generate one by running echo 'int main() {return 0;}' | clang -x c -o empty-bin -, and verify it is arm64 by doing lipo -info empty-bin. The other, saner option is to add the following to your plist:

<key>LSArchitecturePriority</key>
<array>
    <string>arm64</string>
</array>

The issue is, MacOS seems to be caching the rosetta flag somewhere outside of the usual places. If I find a way to clear the flag, I'll update this post, but currently the only fix I have is to change your CFBundleIdentifier in the plist. If you get that rosetta window even once, that bundleId will always bring up that window.

Source Link

This issue seems to occur if you have no ARM format binaries in the MacOS folder. I have found 2 solutions to this bug. One is to just include a ARM binary in the .app/Content/MacOS, even if it does nothing and is used by nothing. You can generate one by running echo 'int main() {return 0;}' | clang -x c -o empty-bin -, and verify it is arm64 by doing lipo -info empty-bin. The other, saner option is to add the following to your plist:

<key>LSArchitecturePriority</key>
<array>
    <string>arm64</string>
</array>

The issue is, MacOS seems to be caching the rosetta flag somewhere outside of the usual places. If I find a way to clear the flag, I'll update this post, but currently the only fix I have is to change your CFBundleIdentifier in the plist. If you get that rosetta window even once, that bundleId will always bring up that window.