Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Build full-featured iOS application with just PhoneGap Build and no Mac-like hardware [duplicate]

Since paying $99 for Apple Developer Program is a bit tough decision for me (especially, if it would be a wasted money), then the question is quite simple:

Can I build full-featured iOS application, that I will be able to submit (and get accepted, of course!) to App Store, using only PhoneGap Build, without any kind of Mac hardware or without need to use a paid service like Macincloud?

I don't have any kind of Mac. The only thing, I have, is un-jail-broken 3 years old iPad Mini. So I can test my iOS application on real iOS-based device (if this is required in app submission process), but I can't use any developer tools, SDKs etc. to actually build it.

I'm asking, because I get completely confused. I touched this topic about two years ago and then I asked this question. I was replied me with a list of steps and tutorials, I must undertake, but with a clear information, that I can create and deploy iOS app, without having any Apple hardware.

I left this subject for the next two years. When I got back to it, I found a support question, a blog, Stack Overflow question and an article, that are all more or less certain, that having a real Mac machine or access to service like Macincloud is mandatory for creating iOS applications.

For example, inn third answer to mentioned support question Petra V. says:

Yes, you need a Mac (no xCode, just ApplicationLoader required) to upload to the AppStore, unless you use a paid service like Macincloud

Now, I'm completely lost, because this statement stands in exact opposition to what Amir said two years ago. Thefore, can someone give me a verifiable information of current status on this matter?

Can I build an OS application, that will be properly signed and accepted by AppStore, using just HTML5, browser and PhoneGap Build, with no Mac hardware or extra services required?

This is not a duplicate of this question, because the only answer to it is over a year old (and things changes quickly in this area) and has:

To publish to the app store I believe you still need a Mac with Xcode

Someone's believe may be accurate and may be wrong. This isn't something, on which I would bet 99 USD. That's why I'm asking for a verifiable and updated answer.

like image 265
trejder Avatar asked Oct 20 '22 09:10

trejder


2 Answers

The way to build an app and submit it to Apple is:

  1. Compile the app.
  2. Upload it through the Application Uploader.

In order to achieve 1, you need a Mac. The iOS SDK, which you need, comes within Xcode. Xcode, the Mac app that lets you build iOS apps, is only available for Mac.

There are other ways you could get the app compiled, but basically what you'd be doing is "renting" their Mac computers or servers (e.g. Adobe Cordova Build).

In order to achieve 2, you need a Mac too.

Are there ways to bypass having a Mac? If you have a PC, you could try HackIntosh, a hack to the Mac OSX that (ideally) lets you ran a Mac OS into a PC. I wouldn't recommend you that path, though. Even if you had a hardware with high compatibility wit Mac hardware, it would be a hack still and any update of any app, OS minor update, etc, could break your HackIntosh.

like image 69
lnjuanj Avatar answered Oct 27 '22 10:10

lnjuanj


While two other answers has answered the general question, I'd like to add some more details, that I have received in other sources and to summarize the problem.

You CAN'T submit an iOS application to App Store using only PhoneGap Build, without any kind of Mac hardware or without need to use a paid service like MacinCloud. Amen.

Current situation

Submitting an iOS app to App Store was possible two years ago (as per Amir's answer cited in the question), but it is no longer possible, as per this Phonegap Build support answer:

Two years is long time in the land of technology. Yes, Apple introduced a new method of uploading applications, forcing the use of an actual Mac. As apps grew, the upload via a browser became problematic, so a custom app was built to manage that portion of the submission process.

I can add, that it also seems obvious for Apple's business model, to force people to purchase even tiny, even old Macs just for the purpose of submitting app to app store.

What can you do?

You can compile your application (after enrolling to Apple Developer Program, getting all the required certificates and signing keys and uploading them to Phonegap Build) up to getting final .ipa file, but you will still need something "Mac-related" to run ApplicationUploader and upload your app to store.

This theory is confirmed by this Phonegap Build support answer:

That statement is still valid. In fact, I have two new apps to be published today, and I'm going to use my Windows machine for everything except for the .ipa-upload part (which is one step within the process of using iTunesConnect in my browser on the Windows machine). The file upload takes place on my old Mac with ApplicationLoader.

In the recent past, we have seen reports of developers, here in the forum, who had difficulties uploading through ApplicationLoader. Turned out that everything worked fine again when they updated their installation of xCode, although they never used xCode for anything. Perhaps ApplicationLoader uses xCode modules under the hood on the same Mac...

"Mac-related" means:

  • purchasing your own or lending someone else hardware Macintosh, nearly any kind,
  • installing OS X system on any of your PCs (Hackintosh),
  • making use of paid service like MacinCloud.

First option seems best, as it is giving you maximum flexibility. If you're not touching even a bit of xCode (in the context of this question -- i.e. building an app through Phonegap Build) and other dev tools, then even used Mac mini would be good and you can purchase such for around 200-300 USD.

Second option is both illegal ("Running OS X, even virtualized, on non-Apple hardware is a violation of the EULA for the software") and not recommended ("any update of any app, OS minor update, etc, could break your HackIntosh"), so should be considered as last option.

Third option should be considered by developers, who submit a number of iOS apps (and an updates to them) low enough, so monthly or yearly MacinCloud paid plan become more reasonable than one-time investment in old Mac.

like image 27
trejder Avatar answered Oct 27 '22 09:10

trejder