Change app Version with only IPA file provided (no xcode) - ios

I have an app that was developed for my company. Unfortunately it needs to be resigned (i know how do this part) because the distribution cert has expired. The problem is we need to change the version number so it allows for an update on all iPads. Does anyone know how to do this using terminal (i have xcode installed but i dont have and of the files from the developers). Once again, i only have the IPA file for the app.
Thanks for any help.

Rename the .ipa to .zip, and unzip the archive.
Inside should be a folder called "payload", and inside that folder should be your application archive.
Right-click the application archive, and choose "show package contents."
Find the Info.plist file (either named "Info.plist" or "AppName_Info.plist"). Open that file with a text editor
Change the value of "CFBundleVersion" and "CFBundleShortVersionString" to your desired version number.
Re-zip the archive
Rename the .zip to .ipa
Re-sign the .ipa

In answer to Chris Emerson's comment above (sorry, I don't have enough reputation to add another comment so I'm adding an answer) it is still possible to do this! I have just done it for an IPA with latest updates to everything iOS 8.3, OX Mavericks. I was getting the same message "... could not be installed at this time" and it turned out to be an issue with the entitlements in the provisioning profile not matching the entitlements in the *.app.
You can check the entitlements in both like this: https://developer.apple.com/library/ios/technotes/tn2318/_index.html#//apple_ref/doc/uid/DTS40013777-CH1-TNTAG68, and I put an answer detailing how I fixed the entitlements of my IPA so that they matched here: Alter Minimum OS Version of IPA without XCode, iOS 8+.

Related

"Invalid Swift Support - The SwiftSupport folder is missing" with Xcode 7.3.1

After submitting an app update using Application Loader, I got this email from Apple:
We have discovered one or more issues with your recent delivery for
"[App Name]". To process your delivery, the following issues must
be corrected:
Invalid Swift Support - The SwiftSupport folder is missing. Rebuild
your app using the current public (GM) version of Xcode and resubmit
it.
Once these issues have been corrected, you can then redeliver the
corrected binary.
I have confirmed that this binary was built with the latest Xcode GM (7.3.1), so that is not the issue. I have seen a wide variety of potential fixes for this problem online but was hoping that by giving further details somebody might be able to help me figure out the specific solution.
Submitted an IPA file using Application Loader 3.5 with no problems.
The previous version of the app does not use Swift, but this update does.
The "Embedded Content Contains Swift Code" build setting is set to NO. My understanding is that this should only be YES if we have a pure Objective-C target that depends on a Swift or mixed target.
The project uses CocoaPods, but nothing has changed in our pods for this update.
The previous version of the app included a WatchKit app and extension, but this update does not.
Inside an xcarchive generated with the same build, the SwiftSupport folder is there. It contains a subfolder called iphoneos which contains several Apple Swift libraries like libswiftFoundation.dylib.
If I rename the .ipa file to .zip and unarchive it, its app package does not contain a SwiftSupport folder, but does contain a Frameworks folder with the same Swift dylibs.
The solution here was in this answer. We needed to use the new -exportOptionsPlist flag with xcodebuild instead of the older -exportFormat and -exportWithOriginalSigningIdentity flags. The plist just needs to have the method key set to app-store.
The root cause of this is that the provisioning profile is ad-hoc and it doesn't create SwiftSupport directory in the ipa. The folder is created using app-store as the export method, so it worked for me when I updated my provisioning profile to app-store.
Reference
I received this same email after uploading an .ipa file to App Store Connect through the Transporter app. The following is where I went wrong: I distributed the app using ad hoc.
The following steps are the solution for my error:
Archive app
Distribute on TestFlight and the App Store
Export
Open ExportOptions.plist in the newly created folder from the export.
Make sure the method property has the value app-store if you are uploading to App Store Connect/TestFlight like me.
Drag and drop the exported .ipa file to Transporter.
Deliver your app to upload it.
And that's it!
Original answer here: https://stackoverflow.com/a/62568526/10374366
In my case, I just added redundant swift file to the project and it solved the problem.
You should choose "Save for iOS App Store Deployment" instead of "Save for Ad Hoc Deployment" option at the time of creating ipa file.
EXPO users.
I had this problem with expo build:ios it got me stumped for days.
The build from the expo server was about 39mbs which was far smaller than previos versions.
To fix it I had to use
expo build:ios -c
This resets all the credentials (I said yes to all questions) then rebuilds the app. The resuling ipa file was 250mbs and everything is now working preperly.
Use this https://github.com/ndpiparava/Swift_StripArm64e script file remove arm64e from .app file
..Nitin
For our case we use app center for preparing android and ios builds.
For production branch we use release provisioning profile and for normal branches we use normal provisioning profile, and we instead of picking the production build, used normal branch build, which caused this issue.

The app could not be added to your itunes library because it is not a valid app

My app is already in itunes and after some changes on the existing app,I created the new app id ,certificates and provisioning profiles and then generated .ipa file using folowing steps...
Go to Product-->Archive
2.Click on Export option.
.ipa file was generated but when opening with itunes it displayed error as...
"The app could not be added to your itunes library because it is not a valid app".
What this error means..??I only want to to generate ipa file using adhoc distribution so that the app can be tested on number of devices .
What should I do..??
My existing app has version and build as 2.1.2 but now I changed to as 2.5,then also its displaying error...
Please help if anyone can.....Thanks
I resolved this issue from the Link:
In order to resolve this issue, do these steps:
Renamed the exported ipa file to .zip and opened her up.
XCode is now putting the .app file inside a folder named "Applications".
Rename this folder to "Payload", zipped it back up, and rename the zip back to .ipa.
Now dragged this new ipa file to iTunes it should works fine this time and can be installed on my phone.
This seems a bug in Xcode in latest Xcode versions.

IOS Application duplication

I would like to duplicate a application on IOS, so i've already tried by editing the CFBundleIdentifier, CFBundleDisplayName, CFBundleExcecuteble and CFBundleName.
Then i recompile the info.plist, and zip the archive to a .IPA
When the IPA is being installed (ipa installer, ifunbox), the installer says: "No valid ipa"
Application is Whatsapp version 2.8.7
Thanks for any comments.
Whatever you are trying to do is not leagal. And there is no simple way to do it even if it can be done. There is something called Code Signing, so simply changing Bundle Identifier won't help you.
You only need to modify CFBundleDisplayName and CFBundleIdentifier in the Info.plist file inside the IPA.
BUT in order to install you also need to have AppSync installed on the device, which removes checks during installation

TestFlight beta-testing iOS app

I completed to develop my first app. Right now i want to distribute my beta throught https://testflightapp.com
I tried to create .ipa file with this tutorial - http://help.testflightapp.com/customer/portal/articles/402782-how-to-create-an-ipa-xcode-4
In the very beginning i should select Entitlements, but there is not such category as Code Signing..
Any helps? Thnx.
PS I have a developer account.
UPD. Does somebody create ipa files for TestFlight on XCode 4.3? How do you do that?
I skipped entitlements altogether. With Xcode 4.2 and later I have not needed them.
Make sure your Archive Scheme uses your Debug configuration. Then just do an Archive of the project (under the Product menu). Save the Archive someplace. Then drag that Archive file onto the TestFlightApp's green "Upload Build" button. That easy. No messing around with entitlements, etc.
Before you do this, make sure you can actually build a correctly formed archive by building, and e-mailing it to one of your testers and see if it can be loaded. There are a bunch of things that have to work before you can use TestFlightApp. Just because you can Build and Run from Xcode doesn't mean that it will work on a remote device that doesn't already have your provisioning file. For example, you have to have your App ID, provisioning profiles and Device ID's all configured correctly via the Provisioning Portal. Once I did that, and verified that my .ipa files can be installed manually, then just uploading to TestFlightApp.com worked without having to do entitlements.
I wrote this up and put it on TestFlightApp's support forum, but for some reason TestFlightApp.com won't let me into the support area so I can find it - I can't use my login to access their "Tender" account.
That's because that tuturial was done for another version of Xcode.
Just create a new property list file (Entitlements.plist) in your Xcode project and it let you edit it as a Entitlements file just fine.
The What's New in Xcode (pdf) documentation states that:
The iOS platform has supported entitlements for a while, and with Lion, Mac OS X does as well. With Xcode 4.1, the project editor provides a UI for setting up entitlements for Mac OS X applications. You can set entitlements for each target in the project editor. There is also a default code-signing entitlements file available in the file templates in the utilities pane.
In the Summary tab of your project editor is a section titled Entitlements. Check the "Enable Entitlements" box to have Xcode automatically create an Entitlements plist for you. This section also governs the entitlements' interaction with iCloud and Keychain.

how to get .mobileprovision file and .app file

I am new to the iphone development.
And i am using Hackintosh and i do not have any user ID of apple.
Now my clients need two file( .mobileprovision file and .app file) for creating ad hoc distribution.
Now is it possible to create .mobileprovision file and .app file from my hackintosh?
Is it mandatory of real mac and apple User ID for creating these two file ?
Edit: These links are old and now point to an archive, but unfortunately the images aren't archived. The information is likely outdated and no longer relevant.
In order to provision an app you will have to be part of the iPhone developer program. Once you do that, these instructions (minus the part about building for corona) will help you. You can also build with Xcode 4. I don't know if any of this can be done with a Hackintosh.

Resources