My iPhone is currently synchronized with a pc. I'm planning to purchase a Mac Mini for developing iPhone apps and testing them with my iPhone. Does my iPhone have to be synchronized (via iTunes) with the Mac, in order to test my apps on it? Or can it stay synchronized with my pc?
I'm questioning this, because I want to keep my iPhone synchronized with the pc, but also want to test apps developed on the Mac.
Thanks in advance.
You've got a couple of choices.
You can synchronize your iPhone with multiple computers (Mac or PC), but be aware you are only allowed to sync your iPhone/iPod with up to 5 different computers (you have to authorize each computer to work with your iTunes account).
You should be able to configure iTunes on the Mac Mini to only synchronize applications and nothing else, then hopefully it won't get confused with all your other music etc (unless you want this opportunity for it to be another backup!).
Make sure you have backups, and the first time you sync it you should tell iTunes to copy everything from the iPhone onto the Mac Mini. Otherwise later on you might find iTunes tries to delete all your apps from the iPhone to sync it with the empty iTunes account on the Mac Mini.
To avoid the hassle I just went and bought a cheap iPod Touch (you can get an 8GB one for $199 or less now) to use as a dedicated development device, but obviously it can't receive phone calls or other iPhone specific features.
Related
I currently use my iPhone 3G for testing my apps, but I am thinking about upgrading to the iPhone 4. What can I do to my 3G so I can still use it for testing. I don't need it to have 3G access, I just want to be able to put apps on it for performance testing since it is a slower device. I would still like to keep Wi-Fi access if possible. What options do I have?
I am pretty sure once you move your phone over to a new contract, your old phone will still continue to work over wireless and also for testing apps. It just won't work as a phone or have 3g access. I did this for a while before giving my old phone to a friend.
Once your new iPhone is set up with your phone service provide, remove the SIM card from the old one. That's all you have to do. Actually you can probably work even with the SIM card in. Really, there's nothing to do.
My old iPhone 3G and 3GS continue to work normally (except for cellular services) after I purchased new iPhones (with new SIM cards) and transfered my account to them.
Wifi and all installed apps work as well.
So you probably don't need to do anything at all.
If you upgrade the OS on any of these old iPhones, you may need to keep an old SIM card in them, so don't throw the old ones away.
I have a few quick questions about the iPhone software development. I did some research about the topic, but there are a few specific things I would like to ask here, because I will have to estimate the cost of the required hardware and software, before I am allowed to buy anything. I never did any Mac development nor have I ever owned an iPhone, so needless to say this is quite hard for me.
I will buy an iMac mini with 2 GB RAM for iPhone development. I will have to use it at the same time as my regular PC, but the majority of the time I won't use the Mac at all. Do I have to buy an additional monitor, a mouse and a keyboard or is there a better solution?
I will have to port a C library to the iPhone platform and develop an iPhone application that uses the ported library. Do I need anything else than the iPhone SDK to do this?
If I use an external library (see above), can I test the application with the integrated emulator, or is it recommend to buy the device?
I will have to send data to a remote webservice. Aside from this I don't require any other features. Can I just buy the iPhone online from another country (the iPhones here are sim locked), or should I buy one with a contract?
When the application is ready, it will be installed on a few iPhones owned by our customer. Because of security reasons it is crucial that there is no third party involved in this process (i.e. the application should not be distributed on the app store). Is this possible?
If you don't use both computers at the same time it's perfectly possible to use the same monitor and keyboard / mouse for both computer
With the SDK you're set, also, you probably won't need to port the library since C is a subset of objective-C and your library will be available for use with the sdk right away.
The simulator can understand external library just fine
Countries like italy sell the iphone without a contract, you won't have any problem with those. Bear in mind that if all you need an iPhone with a camera then the 3g, 3gs and even the 2g will suit your needs, as all of those have cameras.
Yes, there's an option for distribution called "Ad hoc distribution". Using that you can install you app in your client phone without going thru the appstore
My boss wants me to develop some apps and make them appear on the AppStore.
This is a very small company, he paid the iPhone developer program fee and I am responsible for the rest, I have full access to the account.
I've finished the development on my mac using the simulator. But now I have to test the app on an actual iPhone before it's submitted to the AppStore for review.
The problem is that my boss and I both do not own an iPhone and do not have much money to buy one.
My friend has one and he can test the app for me if I can provide him with a way to download and install the app (his PC has Windows XP and iTunes installed), we live far from each other so it's not feasible to borrow his iPhone and have it directly connected to my mac and run the Xcode to do the testing.
I am going to skip the Development Provisioning Profile stuff and directly jump into the distribution stage.
I would like to know whether the app file created in the distribution stage (the one to be uploaded to AppStore) can be copied into a Windows platform and have it installed on an iPhone.
I'm not sure why you want to skip that part of the process, since that's how you'll test your app on an actual device, before getting to the App Store approval process.
If you log in to the Apple iPhone Developer Center, you can click on the Provisioning Portal link to download the Program Guide.
Within this PDF, go to the sections "Assigning Apple Devices to your Team" and "Creating and Downloading Development Provisioning Profiles" to learn how to build a copy of your app that can run on test devices.
What you're looking for is ad-hoc distribution, which will allow you to hand this application, along with your provisioning profile, to your friend and have him install it in iTunes under Windows. You will need to get the device ID from him first (found in iTunes when the device is connected) to create the proper provisioning file. Apple has thorough instructions on this in the iPhone portal site.
That said, this is a terrible way to do iPhone development. First, not owning an iPhone means that you are probably not familiar with its application UI conventions and how the device behaves in day-to-day use. Things that seem like good ideas when working in the Simulator, which is a mouse-driven environment running on a nice, large monitor, turn out to be unusable on a portable device.
The device also has vastly different performance characteristics than your Mac does. Your friend may be able to point out a few things going wrong, but you really need to hook the device into your Mac and run your application while monitoring Instruments for memory consumption, CPU usage, and other parameters that might point out leaks or other subtle problems. It is for this reason that I spend days hammering on each version of my application on the device before submitting to the App Store.
If you are at all serious about iPhone development (which, judging from the line "develop some apps and make them appear on the AppStore", you are), you need to at least pick up an iPod touch for development. If college kids can pay for one to develop applications on, your company certainly can. Check eBay, where I'm sure people are offloading first-generation models for relatively cheap.
Like #Brad Larson said. Get a iPod Touch, I see some 1st gen ones on ebay for $90. Realistically if even a new iPod Touch is too much money for your employer then I'd start looking for a new job. If an employer is too broke to buy you equipment to do your job that costs less then 1 day of work for you it won't be long before they can't pay you. Been there and still trying to get back pay...
HI,
I am new to development for the I phones and got the iphone from USA which is locked to at&t, i have successfully able to develop the apps on it, while it is not unlocked, now i want to unlock it so that i can use it with my local network and also wants to continue the development on it, so is it possible to continue the development on the jailblroken phones for the app store, and what problems may i encounter.
As long as the application is developed using accepted Apple practices (using the official iPhone SDK, and not open-toolchain or something like that) and does not use any private APIs, you should not have any trouble submitting an application just because you tested it on a jailbroken (or carrier unlocked) phone.
To be 100% accurate, jailbreaking and carrier unlocking are against the developer agreement, but I can't really imagine the circumstances that would lead to you being caught.
I have a first generation american iPhone that is jailbroken and works with my local network.
I had no problem deploying a self made app to my phone.
At the time writing I have iPhone OS 2.1.
I haven't yet gone through the process of submitting the application to AppStore.
I'm interested in developing software for the iPhone camera, but I don't currently own an iPhone and don't really want to pay for service. If I were just doing general app development, I'd probably just pick up an iPod Touch, but the Touch doesn't have a camera.
I know I can walk into the AT&T store, buy an iPhone and immediately cancel service. But what can I do with the resulting iPhone? Can I:
... develop apps for it using the native SDK?
... download apps from the app store (over wifi)?
... use it for everything that I can do with an iPod Touch?
More generally, is this just a bad idea for some other reason?
You could jailbreak it and use it on a non-standard plan and pay less money.
You can still develop on a phone after it's jailbroken. You can also still develop on a phone after it has been unlocked. The difference is important:
Jailbreak: You can install applications not available in the app store.
Unlock: you can run the phone on other networks besides it's default carrier (AT&T when in the USA).
Note that you cannot at this time unlock an iPhone 3g running 2.2.1, which it almost definitely will be if you buy it new. You can jailbreak both iPhone and iPhone 3G.
Also be aware that if you buy a new phone, AT&T will charge you $200 to get OUT of your new contract. I think that goes down by 10 or 20$ each month, so that after a year, it's considerably less costly to get out of the plan.
What I suggest is buying a first generation iPhone on ebay or craigslist. First generation iPhones can all be unlocked, irrespective of whether the previous owner put 2.2.1 on them. Also they are much cheaper, have the camera and are totally fine for software development. I was able to find decent first generation iPhones in Seattle just 2 months ago for about $250 - $350 dollars depending on details. Unlocking/Jailbreaking takes a matter of minutes with QuickPwn, and the phone works great as a development platform.
I believe your iPhone must be activated to be used as a target device in xcode. While it would be activated after purchase you would have problems if you cancelled your account and then needed to restore it at somepoint.
If you do wish to support the camera its possible to develop on an iPod Touch - the mechanism for taking a photo is identical to selecting a picture from the library, you specify the source (camera/library) and the rest is handled by the OS with your code receiving the final picture.
If your app is going to be very camera-centric you should invest in an iPhone, but if it's for minor functionality you can probably get by with a touch.
I believe your iPhone must be
activated to be used as a target
device in xcode. While it would be
activated after purchase you would
have problems if you cancelled your
account and then needed to restore it
at somepoint.
No it does not. You can jailbreak to start and it will work fine.