Validation failed
Invalid Executable. The executable 'App.app/Frameworks/PhonePePayment.framework/PhonePePayment' contains bitcode. (ID: 9fa0adca-e60d-4313-b508-c5afce25b88b).
I got this issue while uploading my iOS app. How can I solve it?
I tried running cocoapods update and also added the code in the Podfile. I installed the new pods, but in my Xcode project there is no Enable Bitcode option available in the Build Settings.
-
Please provide enough code so others can better understand or reproduce the problem.Community– Community Bot2025-09-23 10:11:35 +00:00Commented Sep 23 at 10:11
-
I can see that they updated their framework to version 5.2.0 last week. If you have that version and you are still getting an error about bitcode then you should raise this with themPaulw11– Paulw112025-09-23 10:29:13 +00:00Commented Sep 23 at 10:29
1 Answer
What is bitcode? it is an intermediate representation(IR) in LLVM since iOS 9.0. With it Apple can re-compile your app later to run on new hardware or optimize it without a new submission to AppStore.
But is has been deprecated and totally removed in 2022(Xcode 14). Your error here was caused by Xcode rejecting bitcode.
You have 2 ways to solve it:
Look for a new version of the library
PhonePePayment, see if it provides an update that removes bitcode.If option 1 fails, you can still manually process it with
xcurn, runxcrun bitcode_strip PhonePePayment.framework/PhonePePayment -r -o PhonePePayment.framework/PhonePePaymentThis commands removes bitcode from binary. you can can either create a local cocoapods with this modified framework, or just add this modified framework to project.
A simple commands that can help us to verify if a bit code exists in a binary:
otool -l PhonePePayment.framework/PhonePePayment | grep __LLVM
If you can see __LLVM section, then it has bit code.
