How to tell if your .ipa is 64-bit
I created a .ipa file with the following flags armv7 armv7s and arm64. Is there a way / tool through which I can verify that the .ipa has 64 bit support?
How apple knows during application submission if the application binary supports 64-bit.
One option is to use lipo -info %path-to-executable%
to make sure you are not using the path to the .app folder or the .ipa archive.
I created a script that takes a file .ipa
as input and returns whatever architecture the application supports - (replace with yours too)
ORIGINAL_FILE="<file path>"
FILE_NAME=$(basename $ORIGINAL_FILE)
EXPANDED_DIR="/Users/<username>/Downloads/expanded_app/$FILE_NAME"
PLIST_FILE="$APP_DIR/Info.plist"
APP_DIR="$EXPANDED_DIR/Payload/*.app"
unzip -q "$ORIGINAL_FILE" -d "$EXPANDED_DIR"
executable_file_name=$(/usr/libexec/PlistBuddy -c "Print CFBundleExecutable" $PLIST_FILE)
EXECUTABLE_FILE="$APP_DIR/$executable_file_name"
app_architecture_list=$(lipo -info $EXECUTABLE_FILE)
echo $app_architecture_list
Now this one app_architecture_list
will give you a result that will contain armv6
either armv7
or arm64
with which you can figure out.