How to create an IPA for MDM system withouth re-signing IPA? - app-store

I'm working with a client and they use the MDM system (Workspace ONE) they want to test my app (mostly AppConfig) before I upload the IPA to the app store where ultimately they can grab from there into the MDM system and distribute it to their users. For some reason, they don't want to have an ad-hoc build/Enterprise distribution (I suggested the re-sign option, but they declined). Anyway, they ask me for an IPA file that I use for AppStore and I provided them but they say the system returned an error saying " This app cannot be installed because its integrity could not be verified"
I wonder what could be the right approach to release the IPA file for the MDM system for testing? I don't think there is another approach for app distribution other than re-signing in-house distribution build.
Any help is greatly appreciated.
Cam

Related

Upload IPA to iTunes Connect from a different Mac

I would just like to confirm my understanding and check whether it can be done or not. I have an iMac and a Macbook for development. I have created an IPA for the app store which I need to upload it to iTunes.
Now my question is that I have generated the IPA from the iMac which contains all the profiles and certificates. Can I upload the IPA from the Macbook using Application Loader 3.0, but the Macbook does not contain any of the profiles and certificates.
From my understanding it should be doable as the IPA contains everything required, but still wants to confirm with other developers in the community.
This can be done and Application Loader has no dependency on the certificates and profiles. We just need to login using the proper credential and then select the proper IPA which is required to be uploaded.

Possible to install .ipa without iTunes?

Is it possible to install an ipa on an iPhone (given enterprise provisioning profile) without iTunes? We are distributing an app to a non-technical audience within our company and want to simplify things as much as possible.
In the ideal case, we'd like to host the ipa on a site, and have the users browse to the site from their iPhone and install directly. Is something like this possible?
You can use this service: www.testflightapp.com
It is free. You can send invitations/notifications to the desired users and a new version or update is uploaded. Also you can share a link to anyone you'd like.
If you want to distribute the ipa through your own domain and server you can use HockeyKit. It's the free and open source "little brother" of HockeyApp, a hosted service to distribute app betas.
Here is what you need to do:
Integrate the HockeyKit SDK in your app
Install the server component on your web server
Add the devices you want to distribute to in your Apple developer account and generate an ad hoc distribution certificate with those devices
Build and archive with the ad hoc profile
Upload the ipa and the profile to your webserver

How to configure a Xcode project for beta testing with TestFlightApp?

I signed up for TestFlight.
Then I followed all steps in this tutorial:
But Xcode throws this warning:
Application failed codesign verification. The signature was invalid,
contains disallowed entitlements, or it was not signed with an iPhone
Distribution Certificate. (-19011)
It smells like there is a lot more work to do than what they wrote in the tutorial.
Is there a complete tutorial which walks through every step without stepping over anything?
And do I need to add the SDK even for simple beta tests?
(Edit: No, SDK is not needed!)
Start with logging into the Provisioning Portal, and adding a test device or two, under Devices. Then go to Provisioning and create a new one for the appID you are working on and add those devices.
Back to Xcode and use the Organizer:Devices:Provisioning Profiles to download (refresh) the Provisioning Profile. Set your project's Debug scheme's signing to use that developer profile. You should then be able to build and then archive. Once archived, do an ad hoc distribution and save off that file to the desktop.
Go to your account on TestFlightApp.com and press the Upload Build button. Drop the file you saved on your desktop, into the Build upload area. TestFlightApp will give you errors if the app wasn't bundled for adhoc or signed properly.
Now, here is where TestFlightApp.com will save you work. Send out invites to friends from within TestFlightApp.com. TestFlightApp.com will manage notifying them and as they create an account, it will also help them find their UDIDs. These UDID's can be batched up and later downloaded by you and re-uploaded to the Apple Provisioning Center, into your devices section.
You then use Xcode to refresh your profiles, and rebuild the app, archive, and upload to testflightapp. Then you can select which one of your testers will get to see this build and what message they should be sent. Your testers will not have to figure out how to download the files and install them using iTunes or other app, they merely press the install button.
Believe me, while it is still a bit of work, it is so much better than not using TestFlightApp.com, especially if your users are not very savvy about app installation. In the future, you can use the TestFLight SDK to gather crash reports and usage information for your debug builds.
See the following for some more info: TestFlight beta-testing iOS app

testing iphone apps built on a remote mac

I'm using macincloud service to try/play/learn about building iPhone apps. I have a dummy app, and I'll like to test it on my real device.
I've got the developer certificate, I've installed the profiles, but now I'll like to test my app on a real device. Because it is not possible to connect my iPhone to the macincloud servie and because I'm on a windows machine, how can I test my app on a real device(the one with UDID that was used in generating the certificates and provisioning profiles).
Is there any file that xCode is generating and it can be used to transfer on a real device from a Win7 machine?
You need to generate an archive in XCode, and then from the organizer click "Share" to generate an IPA file. This file along with the ad-hoc provisioning profile can install the app on a provisioned device via iTunes on a Mac or a Windows machine.
For info on provisioning your device for ad-hoc deployment, see here: http://mobiforge.com/developing/story/deploying-iphone-apps-real-devices or the apple developer docs.
Good Luck.
Correct answers have been given already. However, have a look at http://testflightapp.com . That might come handy when you go for more test devices especially when you want to distribute it to a beta testing community.
You want to do an Ad-Hoc build. You will have to read Apple's docs to see whats involved. Then you will have an app file you can install with any iTunes.

How can I sign a release iphone binary provided by a 3rd party?

I have received an iPhone application developed for the company I work for by an outsourcing company. I do not have access to the source, only a compiled binary. I want to be able to sign it using our certificate, provisioning info, etc so I can submit it to the app store. How do I go about doing this? I'm aware of the existence of the codesign but can't really grok how to use it properly for iPhone from the man page.
After you have a distribution certificate created and installed, you can codesign from the Terminal like so:
cd <path to folder containing YourApp.app>
/usr/bin/codesign -f -s "iPhone Distribution: Your Company Name" --resource-rules=<full_path_to>/YourApp.app/ResourceRules.plist <full_path_to>/YourApp.app
This is what Xcode does when it signs an app.
You've paid for an application to be developed, but you didn't get the source code in the deal?
I'd conservatively assume that the application is malware and abandon it. I'd certainly not sign it with my credentials without at least auditing the binary.
How do you expect to handle bug fixes/updates?
Create a distribution certificate from your developer program and install it in your system. Now make an app store provision profile and use that to code sign the project.
You can make the app store binary same as how you make the adhoc binary. You don't need the entitlements.plist though.