I'm from an open-source company that made a simple tool to convert videos from one format to another using FFmpeg in a MacOS app built with python that has been distributed from our site for the past few years. In Big Sur 11.1, the app is unopenable and we are now looking to notarize the app bundle or get it on the MacOS app store.
The app is functional in previous versions (like Big Sur 11.0.1) and seems to crash forcibly when the System Integrity Protection is enabled with Error Code: 0x02000148. I attached the entire crash log at the bottom in case it helps.
The app bundle is not openable in Xcode so I am struggling to look for a simple way to sign the app and submit it for notarization. Is there a way to do this without xcode?
Do I need to rebuild the app in xcode completely, or is there an alternative?
Thank you for your time!
Crash log:
I can help you with the notarization. Ideally, it should have been notarized a couple of years ago. Then you would have had more time to work on it and more people to help.I'm from an open-source company that made a simple tool to convert videos from one format to another using FFmpeg in a MacOS app built with python that has been distributed from our site for the past few years. In Big Sur 11.1, the app is unopenable and we are now looking to notarize the app bundle
The licensing of ffmpeg may forbid that. You will need to carefully review the FFmpeg license and your use of the project. Depending on which parts of ffmpeg you are using, it could fall it a more restrictive case that would forbid use in the Mac App Store.or get it on the MacOS app store.
Your crash log is not useful. At the minimum, you should symbolicate it so it can be read. Since this is your code, you should also include the relevant source where the crash occurs.I attached the entire crash log at the bottom in case it helps.
I don't understand your question. Xcode doesn't open apps.The app bundle is not openable in Xcode so I am struggling to look for a simple way to sign the app and submit it for notarization.
Again, I don't understand your question. Xcode is an IDE for developing apps. It includes facilities to easily sign and notarize apps. There are command-line tools that you can use to sign and notarize apps without running Xcode. I couldn't begin to tell you if those tools are functional if Xcode is not installed. I know they require a paid developer account. If you are looking for some solution that avoids even installing Xcode, I'm afraid you're on your own.Is there a way to do this without xcode?
The first thing you would have to do is figure out why the app doesn't work with SIP enabled. Getting notarized seems like an ambitious goal at this point.Do I need to rebuild the app in xcode completely, or is there an alternative?
I can tell you that people who use open-source tools and try to avoid Xcode have a particularly difficult time with notarization. Invariably, they do crazy things inside their code that either Apple has never heard of, or that Apple has specifically designed the operating system to block. Either way, the only way to truly say your app is notarized is to run through the process, post the app on the internet, and then download it. I suggest, in the strongest terms possible, that you do this using a pristine, factory-fresh virtual machine that you have never used for development. If your app downloads, has a friendly message about "no malware found" from Apple, and then works as designed, then you can consider the notarization to be successful.
You may need to play around with some funky entitlements to get your open-source libraries to work. Those are explicitly supported by notarization and the hardened runtime. You will also have to make sure that the app overall is correctly linked. Just because it worked before, without notarization, or SIP, is no guarantee that is has ever been correctly linked so far.