iPhone Jailbreak development profiles - iphone

Im developing apps with a iPhone4 and my old 3G is my 2nd device for testing.
So, is it possible to jailbreak the Phone and run apps with xcode?
Does anyone have expirience with that, a jay or a ney ?
cheers endo.
Edit: According to the answers it is possible!

Yes, you can jailbrake an 3G and use it to test.
But if you already have a developer certificate you simply add the 3G to the list of development devices. For that no Jailbreak is needed.
Only benefit I see is to run code on the device without having Xcode attached and read in /var/syslog the output of NSLog statements.
But then MobileTerminal (from Cydia) is broken in iOS 4 and I haven't bothered with installing the latest Beta. I find in more comfortable to ssh across from a full sized computer and read /var/syslog or other files in that way. So again, I am not using much the features offered by jailbreaking.
Main benefit for using a 3G is to have a device on 3.1.3 and to test if the App performs well in terms of speed and backward compatibility.

Yes you can use it for development as Olaf said. I have been doing the same, no issues what so ever. Except that beware, you might have issues with Push Notifications.
Push notifications, especially productions certs, wont work with jail broken phones. I learnt that the hardway.
other than that, i did'nt find any issues.

Related

iPhone - is a unlocked iPhone indistinguishable by Xcode

My question is: is a unlocked iPhone treated the same way by Xcode? or in other words, can one develop using a unlocked iphone without any problem? When I say unlocked I mean not the official way.
I ask this because I have the possibility of beta testing my apps with some friends and some of them use jailbroken iphones and some just unlocked their phones on an unofficial way. I would like to know if it will be trustable to have these devices testing my app.
I think Xcode does not realize that, it treats all devices as not jail-broken.
The only difference you might see is (depending on the stuff you have installed in your jail-broken device) you will get many messages in the console.
I remember once I installed winterBoard and I was getting many many debugging messages about it. Messages not regarding my code!.
Regarding permissions: many things are different. So, you should test at least once you app on a not jailbroken device.
I think it all depends on how you went about jailbreaking and how much you've changed the system. Obviously, there's a difference between unlocking and leaving everything else untouched compared to replacing large parts of the OS.
However, I'm sure there are folks who can go into far more detail.

Do I need to buy Iphone for Iphone development?

Do I need to buy Iphone to develop Iphone applications on MacBook Pro? Or is Iphone SDK for the job?
Thanks.
Technically no, but obviously it would be handy.
Xcode provides an iPhone simulator that can handle most testing (but without support for accelerometer or microphone).
All in all, if you plan on doing iPhone development seriously - get an iPhone.
Technically you could use the emulator with the SDK but you really want some raw devices to test on due to subtle differences.
The iPod touch does a great job for testing apps on a real device. Its performances are very closed to the iPhone and it is much cheaper.
Technically no, unless you building apps related to accelerometer, microphone, sms or auto calling applications. The SDK comes with the iPhone simulator which is more than handy
You can use the Xcode iPhone simulator as well as the iPad simulator to test your code, all of which is free. The only issue will be accessing certain filemanagement which cannot be debugged on a simulator. However, you must have a computer running on Mac OS X and a valid Apple ID to download Xcode. Finally, in order to submit Apps into the App Store, you must buy a $100 developer's license with Apple.
Hope that help! And iPhone development is a ton of fun :)
Thommy
I highly recommend to get the device you're developing for. Since some issues will only will only come up by really using your app as intended.
The touchscreen and it's behavior for example can't really be testet in the simulator. If you want to do more than the next "Fart App" you should invest the money in at least one actuel iOS device.
I will speak from personal experience with a financial prespective
Can you afford it or is the short term compensation from the work going to cover the cost? The latest models are pretty expensive, so I would suggest looking for good deals on models that are a couple of years old. When I say short term, I mean 3 years or less. Because after that, there is a good chance that you are going to need to buy a newer model to take advantage of the SDK features available at that time.
Even if you can afford it do you need it immediately? Are you soon going to be developing features that are completely dependent on hardware and impossible with a simulator ? If no please push the purchase further down the line, by which time you would have made some money (or not) and you can buy a newer model.
Having a latest device gives you the freedom to try out and build apps using the latest SDK features that Apple rolls out, so you can stay ahead in the game. On the flip side, it would be good for development only as long as at least one of the apps that you are developing for runs the highest version of iOS supported by the device at any particular time. For example I bought an iPhone 5S some years ago and now none of the apps I am working on run on iOS 12. So I have very little use for it. Ah I guess the vicious upgrade cycle gets developers too :(

What are the potential issues of jail-breaking to test the new background APIs on a 3G?

I've registered/paid for the iPhone developer program, which allows me to test apps on a device. I have an old 3G that I would like to use. However, I'm interested in using the significant change notifications as well as it working in the background.
If I were to jailbreak to enable background processing and things like that, what issues could I have, and how likely are they to arise?
EDIT:
I actually do have an iPhone4, but I'm using it for my personal phone. I've heard that it's not to great of an idea to use your everyday phone as a development device. I've done a little more reading, looks like I could use Ad-Hoc distribution to test while avoiding the problems of using your primary phone as a development device. Seems like the only downside of this would be no debug info, other than logs.
iOS 4 has been hacked to allow home screen wallpapers and multitasking on iPhone 3G. (http://pixelatedgeek.com/2010/06/ios4-jailbreak-and-multitasking-now-available-for-iphone-3g/)
It seems to be running fine without any issues, probably not as fast as an iPhone 3GS or iPhone 4.
Just be careful if you use this as your main testing device and make sure you test on supported hardware before releasing. Personally, I'd use something that was 100% supported to be sure everything worked as expected. However, if you don't own a supported device this may not be possible.
Again, make sure you test on friends 3GS or 4 before releasing. I don't foresee any major issues, but testing features on hardware that isn't officially supported could cause problems.
Update: I've used my phone for development purposes before and haven't run into any earth shattering problems. If an issue comes up you can always restores your device.
If you are planning to target iOS4 you really, really really should spring for an iPhone4. You can understand how things will run on it, and also be able to see how the higher resolution display interacts with your app. I'm not sure running iOS4 on a hacked 3G will tell you much more than running in the simulator, and in fact because of the reduced memory may show some issues that just do not occur on real devices.
One other great option is a recent generation Touch. Although it doesn't give you the display to check against it is a good test platform for multitasking.

Software and hardware requirements for iOS development

What are the options for developing iPhone apps?
Currently I've tried to install gnu kit for Linux without success! Too many steps, and at the and I was unable to compile a single app.
The Apple SDK seems to be much more easy, but I don't have a Mac.
So am I missing something?
You need a Mac, no question. You also need an iPhone or iPod Touch to develop on as although the simulator is pretty good, it is not perfect - I have example code that works fine in the simulator but fails on the hardware. The hardware also has to be modified to add development keys to it so there is a certain risk to using a real iPhone - many people testify that it's safe enough but myself I chickened and purchase an iPod Touch for development. Keys also have to be installed on your Mac and integrated into Xcode - and that's tricky enough to get right even with the standard Apple setup. Xcode is free and really quite a decent IDE.
Your minimum requirements are therefore
An Intel Mac running the latest Mac OS. Cheapest option there is a Mac Mini - $599 although you could probably pick up one on Ebay that would work just fine for $400 or less.
An iPod Touch (or an iPhone if you need the camera/phone features for your app) - $229
A developer licence from apple so you can get they necessary keys - $99
To emphasize, you absolutely have to test the code on real hardware and the amount of pain you will go though trying to use anything else but a Mac and Xcode will easily eat the cost of buying a Mac.
Yes, the Mac. It's probably not worth the effort without the tools. Especially without the emulator. Apple designed the iPhone, it runs a version of OSX, and they have made the tools. It's not even like all you need is the complier because you don't have the tools to debug, load and manage the applications.
Check out http://oreilly.com/catalog/9780596155193/ from your local libarary, it says you don't need a Mac, just a jailbroken iPhone/iPodTouch and Linux. I don't know that you can use the SDK to do it, I'm waiting for the 2g jailbreak to even start, but I sure hope I don't need a Mac.
Besides the official MAC you have a project at google code that attempts to make a toolchain for Linux and Windows. iphone-dev This link shows you how to build it.
There's another FAQ site that answers many of the base iPhone development questions like this, which I've found useful. So you might want to check out iPhoneDevelopmentFAQ.com

iPhone Development and Testing on Jalibroken iPhone?

Other than the obvious ongoing legal issues surrounding jalibreaking the iPhone, does using an jailbroken phone for "official legal SDK development" cause any issues?
Bascially can a jailbroken iPhone work fine for a production development environment, allowing the same provisioning, testing, etc as a stock iPhone in terms of the SDK and related processes?
As far as i know. there is no problem to use a jailbroken iPhone as your development iPhone.
I test all my applications on a jailbroken and a non-jailbroken phone and didn't found any differences yet.
If you have jailbroken your device and broken authenticity (to run unsigned code) it is possible you have a code signing issue that would not be aware to you unless you check the app on a non-broken device. However if you are caught up in the acceptance process a jailbroken device can be useful because you get to test on device earlier :P
That said this is very unlikely seeing as the amount of trouble you have to go through to get to that point almost guarantees you have some clue as to what you are doing.
The Apple Developer agreement has been updated to forbid developers from jailbreaking (but you did say aside from legal issues)...
To answer your question directly, no I have not had any problems :-)