ipa file contains illegal characters? - swift

I am trying to upload an ipa file (written in Swift) to our MDM console (AirWatch). The console is .Net, and when I try to upload I get a message saying the path contains illegal characters. The path does not, and I can upload other ipa files to MDM, so I'm left with something wrong with the ipa itself. The MDM software reads the IPA when it's uploading it to determine version and other information. Anyone got any ideas?
-MJC

I've found that one of the folders embedded in the .ipa file has the 'cross' character (hex=10, ascii=16, DLE) in the 'LaunchScreen.storyboardc' folder.
This can be seen by opening the .ipa file using 7zip in Windows.
When we remove this folder using 7zip, Airwatch accepts the ipa file.

Related

.ipa files automatically converts to .ipa.zip format in ios 16.1

When trying to download .ipa file of a application in ios 16.1 from mediafire the files which is uploaded on the mediafire is in the format of the .ipa file and the file which i am getting in the download is in the format .ipa.zip and it cant be executed in the alt server
I was trying to unzip the file but it appears to become corrupt because its not completely zip file which could be extracted . so what should i do to download the file as .ipa format and use it without any compression
You can try downloading the .ipa file from the different website . or you can try is to download sideloadly software on your pc and connect apple id and directly from your pc you can sideload the apps without the use of alt server.
The ipa file gets converted to from .ipa to .zip because of ios 16 new security patches and or it could be the error in the file or it could be corrupted . Don't try to extract the file cause ios does not convert the .ipa file while downloading . I think you should try to remove the last .zip extension from the ipa file and then try sideloading the apps

Can I extract my apk file to retrieve lost files?

I've been working on a mobile game in Unity for over a month, saving all my work to OneDrive. Today I restarted my computer and when it loaded back up I tried opening my project and it failed. I looked through my OneDrive and half my files are missing! I've been on the phone with Microsoft support all day and I can't get those files back.
I have the apk file for the game loaded onto my phone. Is there anyway to reverse build this thing back onto Unity or just get the files back from the apk file ?
If by APK you mean Android's APK file you can just 'unzip' it and get at least you xml files and other resources such as images. All classes will be packed to classes.dex file, which can be converted to Java's JAR by dex2jar tool. However JAR will give you only Java's binaries. You could further de-compile them to Java files, but they are not going to look pretty or very readable.
Well, at least you can recover you XML layouts.
Are the files in your recycle bin on the OneDrive website or locally? Often times when OneDrive files go missing they can be found there.

Is there a way to view your app's .entitlements file from your app's .ipa archive?

I think there's an issue with my app's .entitlements file when a .ipa is created and so I want to check the Bundle ID of the entitlements file. There's a fairly complicated build script I am using to change some stuff in there before building so I want to see what the final product is. I know that there used to be an Entitlements.plist that I could get off of the ipa but it doesn't seem to be there any longer. Is there any way to access the .entitlements file now?
For those getting here via Google, the Information Apple provides at https://developer.apple.com/library/ios/qa/qa1798/_index.html is a lot more recent.
Specifially, after unzipping the IPA:
Display the entitlements in the app by running:
codesign -d --entitlements :- "Payload/YourApp.app"
and display the provisioning profile by running:
security -D -i "Payload/YourApp.app/embedded.mobileprovision"
Sure, unzip the .ipa file which will create a Payload directory. Inside of the Payload directory is the application package. Right-click the app package in Finder to "Show Package Contents".
Look for the embedded.mobileprovision file which you can open with a text editor or plist editor. Look for the <key>Entitlements</key>

Upload iOS build online

I am uploading ios build on testflight till now. But I am getting the following error on uploading any build (I also tried uploading the previous build again which I already uploaded on it).
Invalid IPA: Couldn't find executable specified in Info.plist - check the value of your CFBundleExecutable key.
I need to upload the build. Can someone suggest me a site other than testflight where I may upload the ios build or ipa file?
The other site you can use is http://diawi.com, i use it on my project now, very helpfull.
We had a problem with CFBundleExecutable ${EXECUTABLE_NAME}. Our iOS app was for example called OurAppName.
Ran fine in Simulator but when archived and deployed via organizer said CFBundleExecutable was not an executable file.
We checked the plist and the value for CFBundleExecutable was 'ourappname'. we unzipped the ipa > app folder (see how below) and there was a fie called ourappname but it was smaller than expected and not a exe (USE:ls -l should have x at end of -rwxr-xr-x ).
Bug was caused by a text file called 'ourappname' and when archive was built it took that as the exe and not OurAppName. Answer was to rename and or delete the file with same name as our exe. Do full clean build. and recheck final ipa.
To see contents of OurAppName.ipa :
Rename to OurAppName_ipa.zip (ignore warnings):
DOUBLE CLICK on OurAppName_ipa.zip to open (creates Payload folder containing OurAppName.app):
rename OurAppName.app to OurAppName_app (ignore warnings will change app bundle to folder).
Open OurAppName_app folder look for ...info.plist for app.
Check CFBundleExecutable is pointing to OurAppName.
Find OurAppName in folder do ls -l make sure it executable (USE:ls -l should have x at end of -rwxr-xr-x).
TIP FOR TEST FLIGHT:
If testflight download fails after 80% with UNABLE TO DOWNLOAD then drag the archive you built to a iOS device using Organizer.
Click on Device > applications and + at the bottom (i think dragging the ipa to the device in the organizer installs it as well).
in your info.plist file open as source code form and check CFBundleExecutable key is there or not and make sure it is written as
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>

How to use Xcode to open decrypted IPA contents

I have a decrypted IPA file. How do I use Xcode to open the contents of this file and make code modifications to it?
An IPA is just a zip file containing a "Payload" folder, which in turn contains the app bundle. As such there is no code in an IPA - just the compiled executable. You can unzip it and look in the "Payload" folder, but all you'll see is executable code. You could possibly disassemble the code (don't ask me how - I've never tried such a thing), but if you need to do that I wonder why you don't have access to the source in the first place...
You can't get the source from an IPA file. It's an executable. See Stack Overflow question
Is it possible to reverse-engineer my iPhone application?.
Xcode compiles apps from Objective C to machine code, then they are packaged with all the other resources (images, nibs) into an IPA file. So you can't get it back to source code, only machine code.