BlinkID / blinkid-cordova

ID scanning for cross-platform apps built with Cordova and Phonegap.
48 stars 34 forks source link

cordova plugin : verification failed related to Unsupported Architectures, while submission to apple #120

Open preeti-arora1 opened 4 years ago

preeti-arora1 commented 4 years ago

Please help us on plugin side. We can resolve the issue on native iOS BlinkId , by removing for x86_64 and i386 architecture with the lipo commands in XCode. https://help.microblink.com/hc/en-us/articles/115005399289-iOS-ERROR-ITMS-90087-Unsupported-Architectures- We have added the lipo commands to remove architecture in this scripts(scripts/initIOSFramework.sh), but not succeeding in this. Please find below verification errors from Transporter.

ERROR ITMS-90087: "Unsupported Architectures. /Frameworks/Microblink.framework contains unsupported architectures '[x86_64, i386]'."

ERROR ITMS-90125: "The binary is invalid. The encryption info in the LC_ENCRYPTION_INFO load command is either missing or invalid, or the binary is already encrypted. This binary does not seem to have been built with Apple's linker."

ERROR ITMS-90209: "Invalid Segment Alignment. The app binary at '/Frameworks/Microblink.framework/Microblink' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version."

WARNING ITMS-90080: "The executable '/Frameworks/Microblink.framework' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. For more information refer to Technical Q&A QA1788 - Building a Position Independent Executable in the iOS Developer Library."ERROR ITMS-90087: "Unsupported Architectures. The executable for /Frameworks/Microblink.framework contains unsupported architectures '[x86_64, i386]'."

ERROR ITMS-90125: "The binary is invalid. The encryption info in the LC_ENCRYPTION_INFO load command is either missing or invalid, or the binary is already encrypted. This binary does not seem to have been built with Apple's linker."

ERROR ITMS-90209: "Invalid Segment Alignment. The app binary at /Frameworks/Microblink.framework/Microblink' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version."

WARNING ITMS-90080: "The executable '/Frameworks/Microblink.framework' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. For more information refer to Technical Q&A QA1788 - Building a Position Independent Executable in the iOS Developer Library."

Cerovec commented 4 years ago

Hi @preeti-arora1,

Apologies for the delay with the answer. And we sincerely hope you're safe.

Let us know if you still face the same issue or did you manage to resolve it. If you didn't, I would suggest we jump on a short call because we need additional help to understand what's exactly the issue.

Thanks! Jurica.

AlibekJ commented 4 years ago

Had the same issue. Here is what worked for me:

cd plugins/blinkid-cordova/src/ios/Microblink.framework
lipo -info Microblink
lipo -remove x86_64 Microblink -o MicroBlink_some_archs
lipo -remove i386 MicroBlink_some_archs -o MicroBlink  
rm MicroBlink_some_archs 

Repeat the process for platforms/ios/{YOUR_APP_NAME}/Plugins/blinkid-cordova/Microblink.framework

Jurica @Cerovec:

would be great if you could update the article. https://help.microblink.com/hc/en-us/articles/115005399289-iOS-ERROR-ITMS-90087-Unsupported-Architectures-

zakaria09 commented 3 years ago

--> In Xcode go to Build Phases tab and press the plus icon and select New Run Script Phase. --> Go to this link and copy and paste the script: http://ikennd.ac/blog/2015/02/stripping-unwanted-architectures-from-dynamic-libraries-in-xcode/ --> Tick the box to Run Script Only When Installing. --> Once your ready to distribute that error will disappear.