So I am currently building my first iOS iPhone App which I plan to launch in the coming months. I have now finished my app but I don't have a big budget so testing on multiple devices is difficult. I already have an iPad so I assume that could run an iPhone version just to check that all the code is working. If I know that the code can run on an actual iOS device (the iPad) will the simulator suffice for the rest of testing would you think? I do plan to use test flight later on in the project too.
you could launch your app on your iPad with iphone mode. Just select option 'iPohne' as on screenshot below
Using simulator gives you some restrictions. For examle, you can not test full process of in-app purchase, location, ads, etc. So, if you are using some of this features for your specific platoform, it's better to test it on the actual device
Related
I have an iPhone app with an Apple extension and when I build the app in XCode only the Watch app starts building, I see both simulators but the iPhone app doesn't launch, is this a normal behavior when testing iPhone+Watch app?
I would like to have more control as far as builds since at times I just want to test the iPhone app and the Watch app doesn't need to be involved and vice versa.
Can I have both apps launch when building in Xcode so I can debug both?
Can I stop testing the watch app and only test the iPhone app if I wanted to?
Is there a way to speedup the build time?
Thanks
If the Watch App's or Watch Extension's scheme is selected, when you press Build, only your Watch app will launch.
You can launch both separately and debug both. If you only want to test the iPhone app, you can do it exactly as usual by selecting the iPhone app and running it from Xcode.
Regarding the build time, I think it's as fast as possible. Just make sure you don't have something that causes a full rebuild each time you are debugging, as build usually takes less than 2 seconds when working on a project if the project is not building from ground up (which usually takes over a minute in a normal-sized project).
Today i signed up to Apple's $99 a year iOS developer program. I'm currently working on certificates, Identifiers and Profiles part so i'd be able to first test my apps on real device. I have available an iPhone 4s, iPhone 5 and iPad mini. These are my family's devices. If i use my mom's iPhone 5 for example to test my apps, would there be any negative affect to the iPhone what-so-ever? Lets say i turn off the device from Xcode and want to use another device, would iPhone 5 malfunction in any way or is it completely safe to use my main everyday device for testing?
No, In no way will it affect your everyday tasks like calling, texting, etc. When you run your project with your phone being the one you want to run it on the app will show up and stop whatever you are doing at the time but it won't have any long term effect on you or your mom's phone. However to make your app go on the phone you need to register the phones you want to use in development mode. If thats done you should be all good
Good Luck and Happy Developing!
I've been testing my app on my everyday iPhone for months now. I've had no issues at all. Nothing affects my iPhone negatively in any way. Also, don't be afraid to delete your app completely from your iPhone if you need to fix something. It also won't have any negative affect on your app or on your phone. Uploading and deleting your app has the same effect on your phone like you download an app from the App Store. That doesn't have any negative affect on your phone. Your uploading your app from Xcode to your phone will not have any negative affect.
Okay, I made a pretty simple iPhone app, I tested it with the iOS 5 and iOS 6 simulators for both iPhone and iPad, and everything worked fine! But when I submitted it for review, they rejected it because it crashes on the iPhone 4, and iPad 3, Is there a way I can figure out how to fix this without buying an iPhone 5 and an iPad 3? They did send me the crash files, but I have no clue how to read them. Any suggested is appreciated! :)
You don't. The Simulators are not accurate enough to debug certain problems (the Simulators only run x86 code, not the actual ARM code in the more constrained environment a device presents).
So, you may need to buy, beg or borrow a suitable iOS device or two for testing.
You have to learn how to read the crash files. Try dragging them into the organizer to start with.
There are some aspects that are different on the devices, you should have at least one iOS device of some kind to test on. An iPad is a good choice as you can test both iPhone and iPad apps. Running on any one device will shake out many errors that would happen on all of them - if for example, you didn't realize the iPhone file system was case sensitive but the Mac (and therefore the simulator) filesystem is not.
Even an older iPad 2 refurb would do for such testing...
It's very difficult to debug problems on a specific device without actually having that device. I know that there are some apple stores in my area that will rent devices for a short time for that purpose. You might check around and see if you can find one to borrow or rent for a day or two.
I am new to iOS world.
What it seems to me if i buy new iPad2 i can test both iPhone and iPad apps
According to me there is only major difference in terms of Screen space.
So for preliminary learning and testing is it ok to test it on ipad2.I am looking forward to buy only one iOS 5 device.Is there any better option for me.
Either device will be ok for learning. You can even start learning without investing in a device because you can ran the applications you develop on the iOS Simulator which comes with Xcode.
Testing on device is important only if you are developing an actual application, and in this case, you need to test the app on all the devices it will run on: iPhone, iPad or both. So if you have an idea for an app that will target only iPhone or iPad, buy that device now or later.
iPhone 3GS will be better option to keep your investment low initially.
From coding point of view first start with iPhone and then once you master it switching to iPad development would be much easier.
For real application it has to be tested on each device on which you are targeted it for.
You can also use an iPod touch. There are missing some of the hardware that an iPhone has, but for basic testing they work well. And you can get a previous gen version from eBay for only about $100.
I've got a newbie question about phoneGap and creating apps for iOs.
If my phoneGap app runs in device emulator in xCode and everything is ok, can I be sure that it will work the same way on a real iOS device when I publish it in the appstore?
The XCode simulator does what the name suggest - 'simulates'. It is not identical to the actual hardware, for a number of reasons. Here are just a few of them:
Performance - your computer has much more memory and processing power available than the phone itself. Your app may run fine on the simulator, but quite slow on the device. This is why it's a good idea to run on the device itself, especially if you're doing stuff which could use up a lot of memory.
Missing features - the simulator doesn't allow certain things to be tested, like in app purchase or media/asset management. And obviously you're missing things like the camera, the accelerometers, compass, etc. You can from iOS 5 simulate certain things like the GPS, but nowhere near everything.
Visuals - the simulator runs at your monitor resolution, whereas the phone itself has a much higher DPI display. Things that look readable or fine on the simulator can on device look very different.
If you're not testing your app on an actual device before releasing it to the app store you're doing a disservice to your users - this is Apple's point of view, and one shared by most developers. It's not necessarily what you might want to here, but unfortunately the simulator really is just that - a simulator. You wouldn't want to be in a plane piloted by somebody who had only trained on a simulator. And you probably wouldn't want to use an app that had only been run on the iOS simulator.
Here's what Apple have to say about it in their own documentation:
Although you can do much of your debugging and testing of an iOS application using iOS Simulator, simulation cannot completely match the results of running your application on the target devices; you must test your application on actual devices to ensure that it runs as intended and to tune it for performance on actual hardware.