Test Phonegap Build app on a friend's iPhone - iphone

I have created a mobile app using Phonegap Build (not just Phonegap...but Build). I have a Windows PC and do not use eclipse or xcode. I just write the Javascript and let Build do all the complex stuff for me.
I can easily test my app on an Android device by scanning the QR code that is displayed on the Build page after my app compiles....but how can I test on an iPhone or iPad? I can convince a family member to loan me one for a day, but I don't have a Mac (I could probably visit another friend to use one, briefly).
It would not be appropriate at this point to spend $99 on a developer certificate, even though this app may be submitted to the store eventually. If $99 is the only option, I would be grateful to anyone who makes this clear!
Or perhaps I just need to learn about TestFlight or Lesspainful? The descriptions are confusing me at present, but I will try harder if I hear some experts tell me that this is the right way to go!
It would be good to test on a real Apple device, as I haven't had much luck getting an emulator going...but perhaps the only answer to my dilemma is to tell me to stick with emulators. (In which case: is there a nice step-by-step tutorial for a complete beginner to install an iPhone emulator in Windows?).
Thank you.

If you want to test on a device, your app needs to be signed using your certificate. You'll also need a development provision profile that includes the device ID's of any devices you want to test on. In order to get those things, you need to join Apple's iOS developer program. This is true even if you're using the PhoneGap Build service; in order to build for a device, you need to upload your certificate and provision profile to PhoneGap Build. Look at PhoneGap Build's Building for iOS page for complete information. All this means that you'll need to pay the $99 fee to join the iOS Developer Program.
An alternative is to jailbreak your device (or, in this case, your friend's device). You can find instructions for that on the web if you're so inclined. However, I don't think you'll be able to build through PhoneGap Build in that case -- you'll need to build your app yourself with Xcode or possibly some other set of tools.

Just as an update for anyone else that ends up here. You can now use Adobe PhoneGap Developer App which allows you to run the Apps on devices without ID's, licenses etc. Here is a guide to getting started.

You would need to join the Apple Developer Program to be able to sign the build and create the .IPA to use TestFlight or other methods to get the build onto the device.
There are options for you to test on a device without that though - see App.io for an in-browser emulator.
Whether you go with that or TestFlight I've blogged about Getting mobile app builds to your customers which includes the pros and cons of the options and the steps you'd need to go through.

install iTune on your windows PC. Copy IPA file to application directory of iTune. When connecting device (iPhone,iPad or iPod), sync apps. Then you can test on real device.

Related

Is it possible to test an app in an iOS device without having a Mac?

I believe this is a duplicate question, but examining the others I could not find my problem exactly.
I have developed a flutter app and I intend to publish it. So I rented a virtual Mac, loaded the project in XCode and tested it on a simulator. Everything worked fine.
I have an Apple Developer Account, Certificates, registered an iPhone, etc., but it seems that I have to physically connect the device to the computer to be able to run it on the iPhone. No way to do that remotely (I'm in Brazil and the virtual Machine in NY).
XCode tells me to plug in the device so it can register it (but I have registered it already in the developer's site).
I thought it would be possible to generate some kind of executable to download to my iPhone, but it appears that is note the case.
Is there any other way I can do that?
Maybe I can skip this step and try to publish the app, because it is the same project as an Android app already tested and published in Play Store.
The answer is yes, the modern answer is probably TestFlight. But this has always been possible using OTA downloads. To do this, archive your app, create an OTA manifest and put this on a web server somewhere. Then you can download the app straight to your phone (assuming it's signed with the correct provisioning profile and all that). We used to do this a lot before TestFlight came along.
This question and
this article are somewhat related to what you want to do
I was having trouble to test without an iphone what I did is register this device on my account https://messapps.com/wp-content/uploads/2016/08/udid.png and so far I could build the app for iOS.

How to test iphone app on remote location

I have created an iPhone application. I don't have the iPhone and I want to test the application on the iPhone of my friend who is far from me. How can I test it on his iPhone?
When I searched on google, it told me that you need to have the device with you. Is it possible to send the wrap and send the application to a remote location and get tested from there? I also have the Apple ID and license.
Yes with a tool like TestFlight you will be able to check wether or not your will work on a device. Thus is good for acceptance testing but never for technical working of an app.
But when it comes to really testing a device is needed, there is not way around it. You should do performance testing on a device.
Also there is no way to use the debugger unless it is connected to your development machine.
If you are developing for iOS get an iOS device.
It's possible, check Test Flight:
https://testflightapp.com/
I used it in the past for the same scenario as you
You should have a device yourself for testing on, before you publish anything in the App Store. Testing in the simulator is just not the same as testing on a device.
On developer.apple.com you will need to create a Ad Hoc distribution profile. You will also need to add all the devices you want to run the app on to this profile. Once you have the profile and you have it installed in Xcode, you can run an Archive build and sign it with the distribution profile. After this you can select the archive and click on 'Distribute...' to generate a .ipa file.
Once you have this .ipa file, you could use a site like testflightapp.com to distribute the app to test-devices. (you could also just email it ;-) )
If you are looking for just a way to transfer the ipa to someone else the best simplest solution for that would be http://www.diawi.com/ or https://appsendr.com
Get the target Device UDID and add it to your testing list, Create your IPA, drag it to the site above, Done.
No need to signup or anything like that.
I like appsendr better because of the small app they provide.
Lets you drag the IPA to your tool bar and have the ipa url right in your clipboard once it's uploaded.

Putting my iPhone app on my phone to test?

How do I take my working iPhone app and put it on my phone to test with? I dont seem to see how and my googleing doesn't turn up what I think I am looking for...
I am a registered developer and have paid my $99 already.
Would anyone know?
Note: I have already placed the same answer somewhere else for the same question.
There are some steps you need to follow to test your app on your personal iPhone. Below you can find all the steps:
Create a MAC certificate at first step.
Upload that certificate to developer account.
Open developer account at https://developer.apple.com
You can now find an option for device id in your developer account on left side.
Register your iPhone device.
It is time to create your unique identifier on developer account, download your certificate and install it on XCode organize
Now open your project and embed your unique identifier in your project.
These steps can be beneficial for all software testing gusy involved in mobile application testing.
You need to register as an Apple developer. This will cost you $99/year.
That is the only way that I know of apart from Jailbreaking your phone.
Open Xcode Organizer window and provision your device for development. This will register the device UID with Apple and install the development provisioning profile on it. If you don't have provisioning profile, Xcode will create one automatically.
Once this is done, you need to set your build to use your DEV cert to aign your app. Then you can switch the build configuration from Simulator to Device and build and run on your phone.
Did you just complie your project or you complied and Run? If you Build your project and you have no errors it means everything it's ok. The next step is to Build and Run your project or just Run your project.
If you Run your project and nothing happens it means that you have something worn in your target configuration. Did you change anything there? In the Project Tab in your XCode go to Edit Active Target Settings and check that your Base SDK and Target SDK match your iDevice SDK.
IF you don't find out what the problem is, contact me, i could help you in anything you need.

Personal iPhone application without paying?

I want to develop a little iPhone application, just for my personal needs. I don't want to sell it or give it to anybody as it will not be useful to anybody.
Can I have this application on my iPod/iPhone, without having to pay/suscribe/be on the Apple store ?
You need to pay the $99 for the iPhone Developer Program in order to be able to install your application onto the iPhone/iPod.
You can, by Jailbreaking your iPhone and then installing the AppSync program from Cydia. Then you can either build your app as a release and drag it into iTunes and sync your phone or change some settings (look it up on google, putting Xcode project on jailbroken device) in the Xcode project settings and open the organizer window and click on the use for development button on the device's page.
Jailbreaking your device will void your warranty if Apple find out (ie if you go into a shop and ask them to fix your device if it ever breaks without clicking restore in itunes to unjailbreak it)
With the Spirit jailbreak, Jailbreaking is as simple as plugging in your phone and pressing jailbreak.
(and the US Government has said that Jailbreaking is legal: http://www.pcworld.com/article/201892/us_government_iphone_jailbreaking_is_fair_use.html)
You could write you program and test in the simulator with the free SDK.
When you are satisfied you could send the source code to a licensed developer, I'd suggest some friend, that can build an AdHoc version for you to run on your own device.
A little tricky and you need to let another developer see the code. This app will also only last a year or less as certificates and profiles are time limited.
Why don't you write it as a website that is iPhone friendly then go to the site in your phone's browser and save a link to the site? It will show up on your desktop similar to an app. To have a true "app" I am sure you have to pay apple.
No, you can not.
It depends on what your definition of "pay/subscribe/be on the Apple Store" is.
Yes, you have to pay a subscription to the Apple iPhone Developer programme to get access to a provisioning profile to enable you to put an app you have built onto your iPhone/iPod. This will cost you $99.
The dev tools (Xcode/Interface Builder) are all free, but without the dev programme subscription you will not be able to put your app onto a physical device, only the emulator.
But no, you do not need to distribute your app via the app store to deploy it to your own phone. However, if you do not distribute the app via the app store then it ultimately doesn't get digitally signed by Apple and when your provisioning profile expires you will not be able to run the app on your phone until you have renewed the provisioning profile.
Well you may be able to do it if you jailbreak your iPhone. I haven't tried it myself but I found this link.
You'll have to decide for yourself about the moral implications of by passing apple's security.

How can I get an iPhone app to a client for review prior to public release?

I need to show an app I have developed to a client for review prior to its submission to the app store.
The client has an iPhone but not a mac on which to run xCode.
I have a personal (not company) iPhone developer account.
The client is too far away to visit in person.
What are my options?
If the client has iTunes, you can provision a build of your app specific to the client's iPhone ID (visible in iTunes). They just need to drag it into iTunes and then install it on their phone.
Plenty of docs about this in the Apple iPhone Developer site. Good luck!
Option #1:
Login to the iPhone developer portal website.
Add their iPhone UDID to the list of devices.
Generate a provisioning profile that includes your own test phone and theirs. Download the file (ends with .mobileprovision).
Double-click it to install it on your development machine.
Quit and restart XCode, then set your code signing identity to the name of this profile.
Build the binary.
In the left side of XCode "Groups & Files" bar look for Products (may need to expand the folder).
Select {yourapp}.app. Right click and choose 'Reveal in Finder.'
Now take that .app file and the .mobileprovision file you downloaded, zip them both up and send it to the client.
They will need to unzip the archive, then drag-drop the .app and .mobileprovision onto their iTunes and sync the phone. Your app should show up and run.
The portal site has more detailed instructions, but this is basically it in a nutshell.
Option #2:
Sign up with a screen sharing service like WebEx or glance.net (both work on Mac and Windows machines). Run the app in the simulator as they watch the screencast on their machine. If it's in the early stages of development, this is probably much more useful since they can give live feedback. In later stages, sending them the app is probably more useful. The nice thing about screen sharing is that they can take over the mouse and click around and explore while you're there to explain things.
Option #3:
Get a screen-recording app like SnapzPro or ScreenFlow and run the app in the simulator while recording a voice-over of its features. Send them a link to the movie. This is pretty useful if you're walking them through all the features. It's also handy if more than one person at a time needs to review the material. The advantage over #2 is that they can watch it over and over on their own time and take notes.
Depending on the stage of development, #3 is probably best in early stages, #2 in the middle, and #3 in the final steps.
I recommend having the client use the iphone configuration utility to install/uninstall early builds of the app. I am using this with my team and it lets you get direct access to the phone's console and error logs which is super handy when you're in the early stages of development. It also lets you manage the install/uninstall of the app and see the explicit version that you are installing in a much easier to manage way than itunes does.
Option #4:
Try https://testflightapp.com/ , this is easy for distribution of your app. Even Twitter Mirror is Using this to test their beta release.