Development platform for iPhone application - iphone

I am new in iPhone application development and currently working on .net (C#).
Please suggest the development platform to create iPhone application so I can adopt very soon.
Which is best among these:
Xcode
Unity using script language c#
tersus
Or any other tool that is not on the list.
Is it possible to develop iPhone application using .NET framework? I'm not sure; I think not.

It's not possible develop application for iPhone on Windows platform. You need official SDK and it's only for Mac OS X.
Look to http://developer.apple.com/iphone/

XCode is the only development environment for iPhone and Objective C is the language it uses for this. You cannot use the .NET framework to build an iPhone app.
The SDK is free to download but you will need register (for free) with apple to get the SDK and all it initially lets you do is build and run apps in a software simulator environment; to put apps on a physical phone you need to buy a license (for $99) and go through a rather convoluted process to set up signing certificates.
The SDK and a variety of sample code and tutorials are all at the Apple iPhone developer site http://developer.apple.com/iphone/.

The official SDK is free but not open-source. All the tools necessary to build iPhone apps are free. HOWEVER you cannot put your apps on an iPhone or iPod Touch device without paying the $99 for the developer license. You can run the apps you build on the iPhone Simulator, which is an application that runs on your Mac. It looks and behaves pretty much like a real iPhone, minus a few obvious things (no GPS, no camera).
Go to http://developer.apple.com/iphone/ to get started.

Learn Obj-C . If you don't have mac then buy one.

Unity looks very promising, but it's cost prohibitive for an indy programmer. I looked at this last week and for me to get the package I needed I'd have to drop down almost $3,000. You'd still have to use XCode to compile your app though.

Related

How to build native apps for iPhone using Windows? [duplicate]

This question already exists:
Closed 10 years ago.
Possible Duplicate:
iPhone development on Windows
I want to build apps for the iPhone but i can't find a right program.
I don't have a mac, so xcode isn't possible. I used MobiOne, but i had to pay, and i prefer a program that's completely free.
I want to ask if some of you know a program to build native iPhone apps thats compatible with windows and is completely free.
Yours,
Gromdroid
You need a Mac computer with an Intel CPU and MacOS X 10.6+, and a copy of the Xcode software (it's free) to build apps for iPhone. That's the Apple policy. They just don't license the build toolchain to anyone. Even with third party iOS-compatible SDKs like Mono or PhoneGap you have to produce the final build on Xcode.
A Hackintosh or MacOS X under VMWare is probably your best bet, short of buying the cheapest Mac Mini you can find.
To upload your apps to the App Store or to live devices (as opposed to the emulator) you'll have to pay, too. $100/year for a basic account.
EDIT: IIRC, in the latest policy, you can run and debug on devices without a paid developer account. To upload to the App Store, an account is still required.
I don't know much about this, from my limited knowledge,you can Use phone gap for application development. It's free and you can develop applications for I-phone,android,windows mobile,black berry etc using this sdk.
Titanium sdk is another one.
But you need to create IPA on XCode for installing it on Apple devices (Iphone,Ipad etc).
It's better if you install Mac OS on your windows machine using Virtual box (Virtual box).
Please check the sdk links.
Phone gap
Titanium
if you're good in java/lwuit programming you can also check Codename One http://codenameone.com
you use their designer and framework, and you publish to iphone, android, j2me etc..
you'll still need development certificates.

how to develop apps for iPhone or iPad in Linux Environment? [duplicate]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I've heard that you need to get a Mac if you want to develop iPhone apps. Is this true?
Is it possible to develop iPhone apps using Linux? If yes, what do I need and where do I download the necessary tools?
To provide a differing response, I'm running OS X and Xcode on a virtualised (VMware) machine on Linux. CPU is a Core2Quad (Q8800), and it is perfectly fast. I found a prebuilt VM online (I'll leave it to you to find)
Xcode/iPhone development works perfectly, as does debugging via USB to the phone itself.
It actually surprised me a lot - but I've had no issues at all.
The answer to this really depends on whether or not you want to develop apps that are then distributed through the iPhone store. If you don't, and don't mind developing for the "jailbroken" iPhone crowd - then it's possible to develop from Linux.
Check this chap's page for a comprehensive (if a little complex) guide on what to do :
http://www.saurik.com/id/4
It seems to be true so far. The only SDK available from Apple only targets the macOS environment. I've been upset about that, but I'm looking into buying a mac now, just to do iPhone development. I really dislike what they are doing, and I hope a good SDK come out for other environments, such as Linux and Windows.
Obstacles regarding the SDK:
The iPhone SDK and free software: not a match
Apple's recently released a software development kit (SDK) for the iPhone, but if you were hoping to port or develop original open source software with it, the news isn't good. Code signing and nondisclosure conditions make free software a no-go.
The SDK itself is a free download, with which you can write programs and run them on a software simulator. But in order to actually release software you've written, you must enroll in the iPhone Developer Program -- a step separate from downloading the SDK, and one that requires Apple's approval.
I think it's rather elitist for them to think only macOS users are good enough to write programs for their phone, and the fact you need to buy a $100 license if you want to publish your stuff, really makes it more difficult for the hobbyist programmer. Though, if that's what you need to do, I'm planning on jumping through their hoops; I'd really like to get some stuff developed on my iPhone.
There used to be a project dedicated to solve this defect: iphone-dev
The goal of the iphone-dev project is to create a free, portable, high quality toolchain to enable development for the Apple iPhone and other embedded devices based on the ARM/Darwin platform.
Regarding the alternative tool chain, Saurik's site is useful but for latest firmware development he indicates building on the iPhone itself and stays clear of indicating that you may need to copy necessary iPhone firmware files to your Linux environment. It's not impossible, but just requires additional work, especially for signing the code (there are open alternative solutions out there as well).
Also, take a look at other guides (for the same tool chain) that approach it more methodically.
I'd suggest to still do the final build and code signing and packaging in XCode (which may mean borrowing someone's Mac) in case you run into problems when submitting the application to Apple. Using the alternative tool chain opens up (at least on the Mac) the possibility of using other IDEs other than XCode for developing the application and again resorting to XCode for the deployment and testing with the simulator.
Of course if you do get the code signing / certificate generation working from the command line outside of XCode then you can install a certificate on your actual iPhone and test there (installing the app via iTunes w/your certificate).
The only way I know of doing development in Linux for the iPhone would be to install Vmware and work on getting OS X running in a virtual machine. With that said there are some "legal" concerns in doing that. It is reported that OS X Server can be virtualized but as far as the development story on that I don't know.
If you are truly serious, that's the what I'd investigate.
Good luck.
You can use Tersus (open source), and it lets you export the app as an Xcode project.
You might be able to write code on a Linux box that will eventually find itself on an iPhone or iPad, but ultimately you would need a Mac to test or deploy the code to the iPhone or to submit it to the App store. So ultimately you need a Mac, so you might as well do the work on the Mac too, with all the tools that Apple provide. There are alternatives to Xcode & Objective-C, such as Monotouch - but these utilize the Apple tools too.
You can with some work run OS X in a VM on Linux. However I should point out that this will break the OSX license agreement, even if you buy the copy of OSX - as it is only licensed to run on Apple hardware.
Sorry to give you this news - the ecosystem around the iPhone/iPad is very tightly controlled.
EDIT: One major exception to this is writing a web app for the iPhone. There are some excellent web apps for the iPhone which are almost as good as user experience as a native app. However I did interpret your question to be about native app development. Web apps, although the user can create an icon for launching them - are still 'second class' citizens.
I've had success building iOS apps on linux using the iOS clang toolchain by cjacker. Basically it consists of the upstream clang and llvm tools from your linux distro, a linux port of apple's linker and some extra tools to help simplify the build process (such as converting xcode projects to Makefile format).
It does take a few steps to install, but you're a software developer so you'd be used to that. I posted an up to date howto for Debian 7 (Wheezy) online:
https://rogerkeays.com/how-to-build-an-ios-toolchain-for-linux-debian-7
Otherwise you want to go with the generic instructions which are a little older:
http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en
Good luck.
There's a framework called Rhodes.
The concept is based on Ruby on Rails and you develop your mobile app in Ruby and HTML, and you can write your code in a Linux environment. You can then create an account at Rhohub, where you add the code (through GitHub), and it allows you to compile it for iPhone, Blackberry, Android, Windows Mobile and Symbian, all off the same code. You don't have to code in Objective-C for iPhone, nor Java for Android, etc. It does the conversions for you. All you need to do is stick to the Rules for creating an iPhone application (or the Phone's you want to develop for) so it can be accepted at iTunes (or the equivalent market).
This will allow you to add the app to iTunes as well.
I have not found any emulators, however, which means that to test your app you need to put it on an iPhone, which is a mission.
I am using this option as I want to create apps for all phones and I use Ruby on Rails already. If you just want to make an app for an iPhone, then invest in a Mac.
Hope this helps.
You're right non-jailbroken phones are limited to Apple's App store and Apple "has the right" to enforce whatever rule, it's totally nonfree territory.
However while developing, one won't have to deal with Apple at all. You can use e.g. rsync to upload the code to the device and test it.
To a certain extent, yes, it is possible. You can type Objective-C code and set up your projects. You can even test the C and C++ parts of your code with gcc.
What you cannot do:
Use Interface Builder to set up your interface, as it's Mac-only. (Not required, but recommended.)
Compile code that uses Apple's Cocoa classes - they don't exist on Linux.
Test code in the Simulator - there isn't one for Linux.
Compile code for real devices or for the App Store - all this requires tools that Apple only provides for OS X.
You need to get mac for it. There are several tool chains available (like win-chain) that actually lets you write and build i Phone applications on windows. There are several associated tutorials to build the Objective C code on Windows. But there is a problem, the apps hence developed will work on Jail broken i Phones only.
We’ve seen few hacks to get over that and make it to App Store, but as Apple keeps on updating SDKs, tool chains need regular updates. It’s a hassle to make it up all the time.If you want to get ready app you can also take help from arcapps its launches apps at a reasonable price.
iphone app development
I did an attempt to port cocos2d-iphone to GNUstep so that you can Develop game based on cocos2d. However for publishing you need a mac. cocos2d-GNUstep.
I would recommend getting a mac because the ios simulator is amazing for testing in the early stages of an app. But I do know of a small company we work with that develops using Unity so they don't need a load of macs. That way they only need one mac for the office and that's just to compile the final build. It also means it works on android but it really depends on what your building because it's a games engine. You may want to look into web apps using frameworks like Sencha Touch Mobile
Unity: http://unity3d.com/
Sencha Touch: http://www.sencha.com/products/touch/
If you value your time, buy a Mac! I don't know enough about Linux development options to offer a viable solution, but it seems the proposed methods involve some pretty roundabout work. If you plan on seriously writing and selling iPhone apps, I think you could easily recoup the cost of a Mac Mini or Macbook. :-)
You will never get your app approved by Apple if it is not developed using Xcode. Never. And if you do hack the SDK to develop on Linux and Apple finds out, don't be surprised when you are served. I am a member of the ADC and the iPhone developer program. Trust, Apple is VERY serious about this.
Don't take the risk, Buy a Macbook or Mac mini (yes a mini can run Xcode - though slowly - boost the RAM if you go with the mini). Also, while I've seen OS X hacked to run on VMware I've never seen anyone running Xcode on VM. So good luck. And I'd check the EULA before you go through the trouble.
PS: After reading the above, yes I agree If you do hack the SDK and develop on Linux at least do the final packaging on a Mac. And submit it via a Mac. Apple doesn't run through the code line by line so i doubt they'd catch that. But man, that's a lot of if's and work. Be fun to do though. :)

how to make your own iphone/ipod touch/blackberry application?

I am a c# . net developer using windows xp.
there is a requirement where I am asked to develop an iphone application.
Can anyone mention me the steps how to get started on this?
Is it anyway i can code my applicaton on c#.net and on windows xp?
Is it necessary to have a mac os to build your application?
What is the first step towards buliding the iphone application?
You will need Mac OS X, you could search for tutorials on how to install OS X on a virtual machine.
Once you have access to OS X, you will need to register as an iOS developer. Registering is free and you will have access to Xcode 3 + iOS SDK (includes iOS simulator). If you need your application on an iOS device (other than the iOS simulator), you will need to purchase the iOS developer program which costs $99. Xcode 4 has now been released, but this requires purchasing if you haven't brought a developer program for $4.99. Registering as a developer also gives you access to iOS, Mac and Safari Dev Center Resources, which you will find useful at some point. You can register here for free. I recommend trying out iOS development first before purchasing, as it's hard for some people to get the hang of.
After downloading and installing Xcode 3 + iOS SDK, you may be a little lost. Answering with a step by step tutorial for your fist iOS application is a little hard, so I will provide links to resources which are very useful. Here is a very good tutorial which will help you install Xcode and write you first application. It also teaches you about the programming language you'll be using, Objective-C. Objective-C is similar to C/C++.
You may find it easier watching a tutorial instead, therefore I recommend searching for videos.
Hope this helps!
Yes, you can code your app in C# using MonoTouch, but there is no way to bedug your code. The simulator will only run on OSX.
Yes, you will have to have an mac to build, test, debug and submit your app.
The first step is to buy a mac and learn Objective-c.
Firstly, iPhone, iPod Touch and iPad have iOS, and BlackBerry has Blackberry OS, so developing for both the platforms is completely different.
Developing for iOS.
For developing applications for iOS, the first thing you'll need is Mac, or any way to run Mac OS X (like having Hackintosh or OSx86, completely beyond the scope of my answer). Since development for iOS is done in a programming language called Objective C. And the IDE for the same is XCode, which (unfortunately) is only available Mac OS, XCode includes the emulator for the iDevices as well.
Developing for BlackBerry OS
And regarding Blackberry development, I don't have much idea about any particular language being used for the same. But you may follow this for a brief idea regarding developing apps for BlackBerry
Yes, despite the other answers at this page, it is possible to develop for Android, iOS and Blackberry Playbook at the same time - in Adobe Air (using Flex or Flash projects).
And no need to buy a Mac, it all works with Windows XP.
The 1st step would be to install Flash Builder Burrito and the other software listed at the Playbook page. That gives you Android + Playbook
The 2nd step would be to install the iOS packager. And I think a new version of it is coming soon - together with Flash Builder 4.5

iPhone and iPod Emulator

I intend to write some piece of code for an iPod and an iPhone. so, i'm looking for emulators for those devices.
basically an emulator which will help me test the application I'm writing.
Thanks.
To develop iPhone apps you need to download the iPhone SDK. This includes the tools and libraries to code you applications as well as a simulator to test your code. This tools are available only for intel macs.
You can get the sdk for free here: http://developer.apple.com/iphone/
To test you code in a real iPhone, you will need to join the iPhone Developer Program (http://developer.apple.com/iphone/program/), which is not for free.
Are you talking about writing an application or writing code for your website to display properly on an iPhone?
The former requires a developer subscription with Apple to access their SDK and emulator.
For the latter, there seem to be several emulators out there to test your web site, check out:
http://iphonetester.com/
http://www.testiphone.com/
A Google search for 'iPhone emulator' should find a lot for you.
The iPhone SDK comes with an iPhone simulator that you can use with Xcode during development.
You can download the SDK from http://developer.apple.com/iphone - you need to be a registered iPhone developer, however, although this is free, after which you can use the simulator.
Note that if you want to send your applications to a physical device you need to enrol in the iPhone developer program which starts at $99.
You probably want to actually get an iPhone for that. You'll have to register the $99 but then you'll get the ability to upload apps to your iPhone/pod.
You could also jailbreak your phone/pod and do whatever you want.
There are also apps available that let you transfer stuff to and from your phone in the appstore (at least one free, if I recall correctly)
If you want to do something more with the files than just transfer them to the phone/pod, it's likely that you'll have to jailbreak your phone/pod anyway.
I keep wanting to find a better abbreviation for typing iPod/iPhone. How about iP(od/hone)? Hmm, not better!

IPhone development on a hacked IPhone

You knows that IPhone in other country like China mainland always be hacked when it buy from reseller. Can I develop custom app by official SDK on a hacked IPhone ?
Yes, you can use Xcode to develop and debug your app on a jailbroken iPhone. You don't even need to pay the $99 to do that.
As long as your iPhone is running firmware 2.0 or higher, you can use the official SDK to develop your applications and use the ldid tool to fake the code signature process. Then, your iPhone will be able to run the application just fine.
You can get the SDK from the Apple site, this does require using a Mac though.
You could use a Hackintosh or VMWare, but this isn't entirely legal.