OpenCV Signin Issue

Hi,

I've been using OpenCV for quite some time now. Submitting builds to App Store and Testflight.

But recently, I can no longer do that. Maybe due to Xcode 12? The iOS app builds and runs correctly on device, but if I try uploading to App Store connect I get a whole range of errors.

App Store Connect Operation Error
ERROR ITMS-90035: "Invalid Signature. Code object is not signed at all. The file at path [Frameworks/opencv2.framework/opencv2] is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. For more information, please consult 

App Store Connect Operation Error
ERROR ITMS-90081: "This bundle is invalid. Applications built for more than one architecture require an iOS Deployment Target of 3.0 or later."

App Store Connect Operation Error
ERROR ITMS-90087: "Unsupported Architectures. The executable for Frameworks/opencv2.framework contains unsupported architectures '[x86_64, i386]'."

App Store Connect Operation Error
ERROR ITMS-90171: "Invalid Bundle Structure - The binary file 'Frameworks/opencv2.framework/Versions/A/opencv2' is not permitted. Your app can’t contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. Refer to the Bundle Programming Guide at https://developer.apple.com/go/?id=bundle-structure for information on the iOS app bundle structure."

App Store Connect Operation Error
ERROR ITMS-90360: "Missing Info.plist value. A value for the key 'MinimumOSVersion' in bundle Frameworks/opencv2.framework is required."

Unsupported Architectures. The executable for Frameworks/opencv2.framework contains unsupported architectures '[x86_64, i386]'.

This suggests that you’re trying to submit an Intel binary to the App Store. You mentioned TestFlight, so I’m assuming that you’re working on an iOS-based platform. These are all Arm based, so submitting an Intel binary is problematic. My best guess is that you’re trying to submit a simulator build.

The best way forward here is to package your third-party framework as an XCFramework. This format supports multiple platforms — and remember that the iOS Simulator and iOS are separate platforms — and Xcode will automatically choose the right platform for each scenario.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
@eskimo Thanks for the answer but I still get the same errors.

Unsupported Architectures. The executable for Frameworks/opencv2.framework contains unsupported architectures '[x86_64, i386]'.

The error is now gone, however.
Try this:
  1. In the Organizer, select the archive that you’re trying to submit.

  2. Click Distribute App.

  3. Select App Store Connect and click Next.

  4. Select Upload Export and click Next.

  5. Follow through the remaining export process.

What do you see?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
@eskimo this is how it works. The problem I have is that when I build my APP on my device via xcode, the framework works. If I then use the version from Testflight, it doesn't work again. According to the app size in Testglight, I assume that the framework is not uploaded. If I then go into the build phases and add the framework under Copy Bundle Resources, these errors come up.


If I only specify the framework under Embed & Sign, the following error occurs: Found an unexpected Mach-O header code: 0x72613c21
@eskimo is there something new on this?

this is how it works.

Ah, blat!, there’s a typo in my previous post. I’ve corrected that now.

So, the idea here is that you run through the export process and then look at the resulting .ipa. That’s a zip archive by another name, so you can change the extension to .zip and then unpack that. That shows you what Xcode would have uploaded to the store if you’re chosen App Store Connect > Upload. And you can use this to confirm whether you are actually trying to upload Intel binaries.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
OpenCV Signin Issue
 
 
Q