I am making an app made using IONIC which I just want to test on my IOS device, not publish it to the app store.
Do I still need an Apple developer account ( by paying $99 ) or is MAC with XCODE and IONIC installed enough?
I just want to test it on my device, not publish it to the app store.
Yes it is possible.
I tried this today. Using XCODE 7 beta 2. Tested my project made using IONIC with only APPLIE ID, NOT APPLE DEVELOPER ACCOUNT, and its working.
All you have to do is( for making IONIC projects and installing them on Physical devices without APPLE DEVELOPER ID)
Install XCODE version 7 (currently beta 2)
Install Node JS (update path)
Install Cordova
make an ionic project ( IONIC start yourproject blank)
IOS platform is added by default.
go to platforms/ios folder
there will be a yourproject.xcode file - open it
Connect your device to the MAC
Run your project - if you get any error, XCODE gives the option of fix issue, click on that and your app will be installed on the physical device
Yes, I can confirm this, as I had to do it myself too. You have to buy an Apple developer license in order to test the app on your phone. I know this sounds crazy as you're not actually putting it to the store, just 'testing', but hey that's Apple ;).
However, if you would only like to run it in an Xcode emulator, you don't have to.
edit: Here is the official document confirming this: https://developer.apple.com/legacy/library/technotes/tn2250/_index.html#//apple_ref/doc/uid/DTS40009933-CH1-CODE_SIGNING_IN_A_NUTSHELL-IPHONE_CERTIFICATES
And besides, here's a SO question asking a similar thing and the reply is the same.
Related
Its not every time we create a real Xcode project, sometimes we need to create project for R&D purpose also. And to test a R&D project sometimes we need to use real device. But I'm unable to run a R&D project on real devices in Xcode 8, whereas in Xcode 7 or Prior to Xcode 8 version we can.
Is there any way to to run test projects on real device without registering?
You can do it over the wire, i.e. you can install it directly from Xcode but not via submitting it to TestFlight etc.
To install into device, directly from Xcode, you would still need to have a developer account with Apple - to get developer provisioning profile and certificate. W/o developer account, even installing directly from Xcode is not possible.
Also, Xcode 8 support for devices start from iOS8. Any device prior to iOS 8 is not supported.
Well, the below link is for Xcode 7, but am sure it should work for Xcode 8 as well.
https://apple.stackexchange.com/a/244801
Also, it expires after 7 days. So, the app should be installed again manually within that period.
I have trying to make an ios app out of libgdx. I have an Ipad (no iphone yet) an I am trying to upload my app to the device. I have an XCode 7.2, which means that it guarantees that I can upload an app to an apple device without an Apple Developer Account, which currently I have none. I had successfully uploaded an app onto my Ipad with XCode alone. In Eclipse, a simple test app runs perfectly on an IOS Simulator. But when I tried to run it in an IOS device, it does not work. Since it is just a free provision, I was hoping this would work. The Bundle identifier of the xcode app with free provisioning is the same as the app id and main class of my eclipse ios app. Before this, there was an error that no provision was set, so I set the bundle identifier of the xcode app the same with the eclipse app, according to roboVM(http://docs.robovm.com/getting-started/provisioning.html#free-provisioning). But then this error shows up,
"Launch IOS Device App" has encountered a problem.
Launch failed. Check the RoboVM console for more information.
The given data is not a property list of a supported format.
I need to test my app on a real device because I am going to try to implement an online multiplayer with it. As of now I am still using LibGDX 1.5.5. Is it because roboVM needs an apple developer account?
Edit: Even without any device connected, the error persists
I had the same problem as the original poster and it persists in IntelliJ. After some tinkering, it was also showing up on the command line. THanks to some help on the libgdx irc forum, we coudl solve the problem. It was due to running iOS 9.2 on my iOS device and a too old robovm-plugin 1.12.0 seems not to work with libgdx and iOS 9.2. An upgrade to 1.12.1.-SNAPSHOT solved it.
Attention, you have to update two lines in build.gradle:
in buildscript - dependencies: classpath 'org.robovm:robovm-gradle-plugin:1.12.1-SNAPSHOT'
in allprojects - ext: roboVMVersion = '1.12.1-SNAPSHOT'
If you want to compile in IntelliJ, you need to manually install the nightly robovm-plugin from the nightlies download section from the robovm webpage.
When I try to install an app on iOS 9.0 by tapping an itms-services:// URL in Safari, nothing happens. This appears in the iOS device console:
itunesstored[586] <Warning>: ExternalDownloadManifest: Skipping download and install of: XXXXXXX
This also happens if your device has an App Store version of your app installed, and you try to install an in-house version with the same Bundle ID.
When you do this, the device will simply ignore you tapping on your "Install" button to kick off the OTA install, and silently log that annoying message.
ExternalDownloadManifest: Skipping download and install of: XXXXXXX
Nothing gets displayed on the device, you're left to work out what's gone wrong for yourself.
So the obvious solution is to uninstall your App Store version of your app before attempting to install your in-house version.
Seriously, every year, I waste countless hours creating and deploying OTA apps with Xcode, and the Xcode/iOS error-reporting is non-existant.
It's really Apple at it's very worst.
Elaborating on Mike Gledhill's answer:
I had this problem upgrading from a production build to a newer Ad Hoc build from HockeyApp with the same Bundle ID. This was a security change added to iOS 8.4 and above to prevent the "Masque" attack.
Manifest Masque Attack leverages the CVE-2015-3722/3725 vulnerability to demolish an existing app on iOS when a victim installs an in-house iOS app wirelessly using enterprise provisioning from a website. The demolished app (the attack target) can be either a regular app downloaded from official App Store or even an important system app, such as Apple Watch, Apple Pay, App Store, Safari, Settings, etc. This vulnerability affects all iOS 7.x and iOS 8.x versions prior to iOS 8.4. We first notified Apple of this vulnerability in August 2014.
Source
Official solution from Apple:
You should use TestFlight to test upgrades to your App Store app rather than enterprise distribution.
rdar://22088607
This happens when the version you're installing has a different bundle ID than a version already installed on the device.
Seeing this recently with TestFairy builds when trying to install them on top of an already installed build from the App Store (Xcode 7, iOS 9)
TestFlight builds do upgrade properly however (not surprised).
See also Enterprise App Update Distribution on iOS 8
i've developped an application using QtQuick, it's running great on Android and ios simulator. now i want to test it in iPhone or ios real device.
So do i need to pay for that, or there is a way to test it for free.
In the build file for iosSimulator there a file with the app in the folder "Release-iphonesimulator", will this file work on the device ?
Recently, Xcode 7 beta 4 was released and one of the main features is that you no longer need to pay for deploying to your own device, all you need is your simple apple account.
After you do all the "Configure Device for Development in Xcode" stuff
Using Qt 5.5 (the newest) build your project and before trying to deploy it to your device, go to the place where the build for iphone is, and open it with Xcode 7 beta 4 (the .xcodeproj) and try to run it, it will fail and will ask you if you want to fix the project, say yes and again it will fail but no problem, now go to Qt and you should be able to deploy the app to your iphone. This worked for me!
After having developed an app for a friend using Visual Studio 2013 Pro with the Apache Cordova Extension, I hoped to also get it runnning on an iPad 3 as fast as with Android. However, things proved to be more complicated than originally thought: The 99$ for an Apple developer account would be far too high for a single device development (the app is intended to only work on one device, no commercial intentions).
At least I now have the ability to use Mac OSX and XCode, which is connected to Visual Studio via network. Installing the app in the iOS simulator works as expected, but I'm struggling with deploying it on the iPad. I already considered jailbraking the device, as the warranty is yet expired and it wouldn't be a problem for my friend. According to the Information I found it would be possible; however, I could not find much about how to do that.
Thanks in advance.
After several months I finally found a working solution:
The latest XCode version (7 Beta 2) is able to sign iOS applications using an ordinary AppleID instead of a $100 developer license.
First, you will need to prepare the vs-mda-remote node plugin on your Mac and be able to build applications [See here how]. Using an appropriate deployment target in Visual Studio, the app can be tested within a virtualized iOS environment.
However, the deployment options Remote Device and Local Device will both fail when you haven't subscribed to the Apple Developer Program. Other methods (described here or here) requiring jailbreaking the device haven't worked for me either.
Interestingly, Apple seems to have changed their strategy not much time ago , finally allowing to sign and deploy apps on non-rooted iOS devices.
Whenever an app is built for the iOS simulator, vs-mda-remote will create a whole new build folder (named using a 3 - 5 digit random number) located in ~/remote-builds/builds. Inside that build folder, you will need to find and open the XCode project file with XCode 7 (example path: ~/remote-builds/builds/654/cordovaApp/platforms/ios/YOUR_PROJECT_NAME.codeproj).
After having connected and detected your iOS device, you should be able to select it as deployment target. Then you should follow these instructions, basically just adding an AppleID which should be used to sign the app. This wasn't possible with earlier XCode versions and is certainly much easier than using one of the "hack"-like techniques involving jailbreaking your device and practically voiding it's warranty.
Finally, you will only need to set the Code Signing Identity to the registered AppleID (for both the Project and the Target) and you're ready to deploy your app.
This method worked for me using iOS 8.3 and Mac OSX Yosemite 10.10.4.
If there are any other questions, please feel free to ask.
in Visual Studio 2015 Community RC, there is an option to debug the app developed by cordova in 'remote device' (iPhone or ipad) connected to the Mac osx. Pls. try it.