I have been developing iPhone apps on my iPad for a long time and I'm about to develop for my iPhone, but I just wondered is is safe and by that I mean...
Can it possibly hurt my iPhone
Could it cause the iPhone to glitch or do funny things?
Any possible Cons?
Any Pros that I may have missed?
Is developing on your own personal iPhone/iOS devices recommended?
Thank you for all the answers in advance...
Yes.
Yes.
See 1 and 2
Real world usability tests.
My recommendation, do it anyway. You are a developer, a smart guy, a tinkerer. If things go wrong, just restore back to a backup.
Related
I'm currently using the iOS simulator that comes with xcode but it has limitations. I'd like to have a virtualized version of the iPhone, as close as possible to the real thing in all aspects.
Does such software exist to do this? I search but nothing came up.
Thanks,
John
I think the given iPhone simulator of Xcode is the only one you can use for it..or maybe the best one.
The only chance for something better would be to submit for the apple developer program and use a real device for testing.
Im pretty sure iOS Simulator is the best simulator you could find, talking about the nearest experience to a real iOS device. If you are asking this because you are not Enrolled in the Apple Developer Program you can always use other alternatives to test in real devices (Jailbreak Tweaks and stuff like that). Or just Eroll the program.
Hope it Helps.
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'm learning iOS development and I need to know what hardware I need to test my apps.
Is the iPhone/iPad simulator in Xcode sufficient? Or do I need the hardware? I have an iPad 2, and an iPhone 3G. The iPad 2 is one generation old, while my iPhone 3G is three generations old.
My first project is a basic card game with networking, based on a tutorial.
Opinion: Considering the number of questions I see of the form "this works great on the simulator but not on my device" I'd say that having hardware for testing is necessary. I don't think you need every possible device but certainly ones that cover the features that your app uses.
It depends on features you need.
Example of things you can't test in the simulator:
Push notifications
Performance of an OpenGL game (usually you need a wide set of device to test OpenGL)
The simulator can be used for development, but the simulator is not relevant for efficiency. It is very recommended to testing on a real device too. Some of the services can not be developed on the simulator:
the push notifications
in-app purchase
iCloud services
And you know, that the iPhone 3G is not able to be updated for the lastest iOS (your iPad is able).
The first answer is YES, you need hardware as there are differences between the behaviour of the simulator and the devices. They won't always act the same as the simulator is a bit more forgiving than the device.
For example the simulator will find files (images/sounds/models etc.) even if the case is different between the request and the file name, the device will not find them. And there are more.
An other point is whether to buy/have devices to hold different iOS versions. I don't have them all as this is too expensive for me but I can say that this is a problem. No matter how much you will try to consider the differences between the devices you will always miss something and your app might not work or crash on this device.
Still you can consider this question by looking at the apps that you are going to work on. I would say that if your apps don't use the device hardware (camera for example) and don't have features that might cause problems on different devices you will be able to start with out the devices.
Bottom line is that if you want to deploy good working apps, in most cases it will be better if you could test your apps on a variety of devices.
It's not a requirement to have a equipment to test, but certainly very important. You can test FPS of your app, even not containing hand-made OpenGL. All features that you use on your app, like view effects, are tested for sure on a device. Since simulator uses your mac memory, you won't see any side effects from memory shortage. I believe your best chance is to have a iPhone 4 and your iPad 2.
I am quiet new for this topic as iOS developer instead of QA. Is that possible to build the automatic testing for the iOS apps in the real devices ? If yes, any mature solutions ?
I like KIF.
Easy to use and it lets you write your tests in Objective-C.
I know you asked about mature solutions, but Telerik's Test Studio for iOS is something you might investigate even though it's in beta. (Disclaimer: I work for Telerik and help promote these tools.)
We work on the native device with no jailbreaking required. There's also no requirement for tethering or wifi/network connectivity, so you can work in a completely disconnected mode to ensure your apps' offline usage works properly. Test Studio for iOS also avoids messy positional-based locators, so it's nicely flexible. It works with native apps (UIKit), web apps, and hybrid apps too.
While writing an iPad game, I used the simulator to check out the functionality. After I had the code 90% done, I borrowed a friends iPad to try it on real HW. I found that my program was not offering the same refresh rate as the simulator. (The moral of the story is that you always have to test on real HW to be sure.)
I am planning on buying the iPad2, but am concerned that any code I check out on it (with dual cores, etc) will not alleviate my concern regarding performance on the original iPad.
Any ideas on how to solve this problem without buying/borrowing an iPad whenever I need to check some code out? Are there some setting in the simulator which more closely mimic the original?
Thanks
No, there is no other simulator. Apple recommends testing on all devices.
Find a tester base with your target devices.