Can you upload .ipa files to Testflight without Mac? - phonegap-build

I am using Phonegap Build to quickly deploy and test my applications. For this to work, I had to go through an elaborated tutorial on creating provision files and certificates and borrow a Mac to make use of Keychain. By then however, I only registered one device UDID.
Now I want to add more devices, but I dont want to go through the whole process again, also what if I have to add other devices later?
So I was thinking to use Testflight, which only requires that you upload an .ipa file (apart from having a developers account etc). With Phonegap Build you can easily create these .ipa files.
However, since I am working with Windows, I dont see how I can upload the .ipa files on Testflight. Most tutorials online talk about using Xcode and some other Mac program.
Is there any way to upload it anyway?

Hacks might be available but since Apple integrated TestFlight into iTunes Connect - which (at this time) does not have a public API - the only official solution is to use Xcode or Application Launcher for ipa uploads. Both are only available for OS X.
An alternative solution might be to use an iOS CI/CD (continuous integration and delivery) service to do the upload. We happen to have one - bitrise.io, CTO here - but you can find a couple of other services as well.

Related

Unable to install AppStore version directly to mobile device when using an iOS App Extension

At our company the process we execute normally is:
fix/implement
test ad-hoc version
create AppStore package
test that AppStore package by installing it directly through iTunes.
submit version to AppStore.
The reason why we need to test also the AppStore version is because some payment services wouldn't work if we didn't. So we need a real environment.
Previously to the inclusion of the iOS App Extension (sharing) we could do this process without issues, but now after doing the same process we can't do it anymore.
We can;
test the ad-hoc version by signing the app extension as ad-hoc.
create and submit the app store package.
However we can't install the app store version anymore, the error mentions that there are issues with the signature, more precisely:
(Entitlements found that are not permitted by provisioning profile)
Does anyone have any idea why this could be happening?.
You really shouldn't be able to install the app store version on a physical device and run it.
It can work in certain scenarios (like if you had previously installed development builds on there and there was a valid development build on the device when you try to run the app store build). Maybe the device has the old app provisioning profile (which would not have the app extensions entitlement). The new one that is embedded with the app (and has the appropriate entitlements) is an App Store provisioning profile and is not valid for running directly on the device.
I would make a new build config in your project that is a copy of the Release config, except for only the code signing settings. That would allow you to run a build that will be exactly the production App Store build, except for the code signing settings.

Distribute App Outside the Mac App Store

I'm a newbie in OSX Development. I built an application in which will be distributed outside the Mac App Store. I have all the other certificates and keys working except for the Developer ID (App and Installer) for production.
I know that this may sound stupid, but for what it's worth, I just wanna make sure.
Will my app still be considered Developer ID - signed if I exported it as a Mac Installer Package instead of selecting Export Developer ID-signed Application, when I install it to its destination devices? Will it be successfully installed or be rejected with GateKeeper-enabled devices?
I have been scratching my head for this since for some weird reason, I cannot add a new Distribution Developer-ID from the Dev Center. I was able to add a Developer ID earlier this week however, I ran into some issues with my private keys. As per suggested by Apple and many other developers, I revoked all the Developer IDs and private keys to start fresh. The problem now is that I can't add any new Developer ID (Distribution). I cannot add in both Dev Center and by requesting through Xcode 5.0.1. I'm stuck.
I have submitted a Bug Report to Apple, but who knows when they'll be able to resolve it.
So now, temporarily, since I don't have any choice (I guess), I'll use the Mac Installer Package, but the question is, will it work?
Any help would be very, very much appreciated.
I've done this recently and have created a third Xcode project configuration to Debug and Release called Archive, which is a copy of Release except the app is signed using the Mac App Distribution / Third Party Mac App Developer and, confusingly there is a third name used for this same certificate.
I then changed the Archive scheme to use the Archive configuration to build.
Before doing this I had errors on some Macs when signing with my Developer ID, in some cases they claimed the app was corrupted, and in other cases I got gatekeeper blocking the app, forcing me to override it in System Preferences > Security & Privacy.
I personally use xcodebuild (from Jenkins) to build the app for distribution to testers, which I package in a .dmg so they only need to drag it to /Applications or ~/Applications and I do all that using a script within the Jenkins configuration. Your experience may differ to mine if you are using the Xcode app instead.

Best way to distribute sandboxed Mac apps to beta-testers

I would like to send out beta versions of my Mac app (which solon Will be sand boxed) to testers. What's the best way to do that?
I can't use new Mac OS X server for this since I don't have an extra Mac to spare.
Normally for iOS I would use TestFlight. But how about Mac, can I use HockeyApp.com? I don't think I can upload sand boxed versions to HockeyApp, right?
You can use HockeyApp with sandboxed OS X apps. Just upload your .app.zip through the web UI or your .xcarchive with HockeyMac. HockeyApp detects the provisioning profile and asks testers do download it before the .app. You can collect the Mac UUID through HockeyApp too.
If you want to provide in-app updates, please follow this tutorial and make sure to use the Sparkle branch that supports sandboxing:
http://support.hockeyapp.net/kb/client-integration/hockeyapp-for-mac-os-x#beta-distribution

Is it possible to get an AIR 3.0 Captive Runtime app into the Mac App Store?

Is it possible to get an AIR 3.0 Captive Runtime app into the Mac App Store? How would you do that?
Here's a link where you can find pretty thorough article how to upload an AIR app in the Mac App-store.
There are actually a couple of steps to doing this. First, and this is what I have found to be the easiest solution, is to build an AIR Intermediate file from Flash Builder 4.5. Once that file is built, use the adt command line packager with the "-target bundle" flag to sign and package the a Mac OSX application bundle. This will result in a fully working captive runtime application bundle that you can run on OSX. When you have completed the Adobe side of things and have verified that is runs correctly you can move on to the Apple side.
I would recommend you reference Apple's developer documentation for this here: Submit Your Application using Application Loader. You will need to use both the "codesign" and "productbuild" commands on the application bundle you created from Adobe's packager. When done, you should now be able to use Apple's Application Loader to submit the package to the Mac App Store.
I have not yet tried to sign the AIRI package with my Apple certificate, so I'm not sure if that would work, since I have both an Thawte cert for Air apps and the Apple issued one. This would take further testing.

Building iPhone apps through Corona: How do I create a fake signing identity and provision file?

I'm using Corona to create a game but to build the app for iOS I need to specify in Corona which provisioning profile to use (which I have to copy to their certain folder).
They state that either a development or adhoc provisioning profile can work.
How do I create a fake ad hoc provisioning profile?
I tried using and old mobileprovision.mobileprovision file that I had but it obviously didn't work because Corona stated that the certficate was not installed.
Here is a link of the whole process to setup for building for iOS (legal):
http://developer.anscamobile.com/content/building-devices-iphoneipad
I am running Mac OSX 10.6.6 with xCode 3.2.6 and iOS SDK 4.3.
In short: you can’t. Provisioning profiles are part of the code-signing process; non-jailbroken iOS devices will not run code that has not been cryptographically signed with a valid provisioning profile.
To run your code on a device, you either need to jailbreak it (so it’ll accept non-Apple-signed code) or cough up the $99/year to become a member of the iOS developer program (so you can give your code a valid signature). Only the latter option will allow you to then submit your app to the App Store, and it’s a lot less hassle, so you’re probably best off just going with that.
You can test Corona apps in the simulator for free, but you have to be a licensed developer in order to deploy to device.
You could try bundling your own IPA file, but I think the IPA will only transfer if the iDevice is jailbroken. This process worked for me on my jailbroken iPhone. https://stackoverflow.com/a/10171462/708807
This is a fake Hoc provisioning profile http://www.instructables.com/id/How-to-use-Adobes-iPhone-Packager-without-an-Appl/step2/Exporting-the-App/

Resources