Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

iOS Project Student Advice

Options
  • 22-01-2013 8:56pm
    #1
    Registered Users Posts: 126 ✭✭


    Hi,

    I'm creating an iOS app for my final year project in college. I'm running Snow Leopard on a Hackintosh with Xcode 4.0. My iPhone is on 5.1.1. I now have the following problems which need to be addressed asap. As far as I know Xcode 4.0 will not allow me to deploy for 5.1, in order to do this I need to upgrade Xcode but will have to upgrade to Lion or Mountain Lion to do so. However I'm not sure if this can be done. Has anyone successfully installed either on a Dell Vostro 1720 or hacked Xcode 4.0 to recognise iOS 5.1 upwards by pulling files from 4.3 or upwards (heard it's possible)? If its not possible I may have to get a new machine. Alternatively how difficult or possible is it to bring my phone back to 5.0, it is jailbroken. Finally, the Macs in the college run Xcode 4.3 or higher, what's the backward compatibility like with Xcode? Sorry for all the questions, I'm just trying to get some answers fast as I'm panicking a little. I need a stable development setup quickly and overlooked all these issues initially.

    Thanks in advance.


Comments

  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    Hi,

    I'm creating an iOS app for my final year project in college. I'm running Snow Leopard on a Hackintosh with Xcode 4.0. My iPhone is on 5.1.1. I now have the following problems which need to be addressed asap. As far as I know Xcode 4.0 will not allow me to deploy for 5.1, in order to do this I need to upgrade Xcode but will have to upgrade to Lion or Mountain Lion to do so. However I'm not sure if this can be done. Has anyone successfully installed either on a Dell Vostro 1720 or hacked Xcode 4.0 to recognise iOS 5.1 upwards by pulling files from 4.3 or upwards (heard it's possible)? If its not possible I may have to get a new machine. Alternatively how difficult or possible is it to bring my phone back to 5.0, it is jailbroken. Finally, the Macs in the college run Xcode 4.3 or higher, what's the backward compatibility like with Xcode? Sorry for all the questions, I'm just trying to get some answers fast as I'm panicking a little. I need a stable development setup quickly and overlooked all these issues initially.

    Thanks in advance.

    iOS development on a hackintosh is really not a viable solution... time to start looking at plan B.


  • Registered Users Posts: 18,272 ✭✭✭✭Atomic Pineapple


    ChRoMe wrote: »
    iOS development on a hackintosh is really not a viable solution... time to start looking at plan B.

    I was going to say this, unless its just to have a look and feel to see if its for you then I'd advise against using a virtual environment to develop an iOS app. I tried it in the beginning and found it just wasn't worth the hassle so much so that I had to completely stop developing and then restart when I bought a Mac.

    If its possible I'd advise you to scrap the hackintosh approach and invest in the right equipment and software so you can concentrate on the development and leave issues with the environment out of your project.


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    I see the purchase of a mac mini in the OP's future </crystalball>


  • Registered Users Posts: 126 ✭✭a1000pigeons


    It's leaning that way. I was considering a Hackintosh desktop (I know) as my new machine but a MBP I think is the best solution. It was my intention as my next laptop anyway whenever the Hackintosh laptop packed it in (there's still life in that yet). However I commute daily but still spend a lot of time in the college and therefore need to be able to work where & whenever without restrictions...

    Thanks again.


  • Registered Users Posts: 7,157 ✭✭✭srsly78


    <devils advocate>
    Much much cheaper to buy an android phone than to buy a macbook. You can run the android development tools on any platform.
    </devils advocate>


  • Advertisement
  • Registered Users Posts: 126 ✭✭a1000pigeons


    srsly78 wrote: »
    <devils advocate>
    Much much cheaper to buy an android phone than to buy a macbook. You can run the android development tools on any platform.
    </devils advocate>

    Ha, I'm very aware of that. However I'm committed to developing an iOS app at this point and because most of the other application projects amongst the class are Android based, Java being what we're familiar with, I'm hoping being different will be rewarded. Plus I'd like to get into iOS development myself. I like what I've seen so far and feel it might be a sought after skill once I finish...


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    Ha, I'm very aware of that. However I'm committed to developing an iOS app at this point and because most of the other application projects amongst the class are Android based, Java being what we're familiar with, I'm hoping being different will be rewarded. Plus I'd like to get into iOS development myself. I like what I've seen so far and feel it might be a sought after skill once I finish...

    I completely understand your rationale behind this choice, and I agree. Android has a very low barrier to entry, hence iOS is a better paid skill.

    However, I have to ask, do you have any previous iOS/Objective-c experience? If you don't, I'd be a bit concerned about taking this on, Objective-c is.... unique.


  • Registered Users Posts: 7,157 ✭✭✭srsly78


    ChRoMe wrote: »
    iOS is a better paid skill.

    Hahah what? There is an unreal amount of highly paid work around for Android. iOs stuff is more niche. Android is used in everything, for example right now I am getting offers to do low level c++ work for android set-top tv boxes. This kind of work wouldn't even exist for iOS.


  • Moderators, Society & Culture Moderators Posts: 17,642 Mod ✭✭✭✭Graham


    There's nothing at all wrong with acquiring a niche skill, it's often where the higher paid gigs lie.

    That's not to say there's no high paying jobs in mainstream work.

    There's no hard and fast rules here, both skills are in demand at the moment and both are likely to attract a premium. However the OP did ask specifically for advice on iOS.

    OP, I would recommend you get a Mac asap if you're going down the iOS path. Time spent trying to get a hackintosh environment configured/running would be much better spent on your project.


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    srsly78 wrote: »
    Hahah what? There is an unreal amount of highly paid work around for Android. iOs stuff is more niche. Android is used in everything, for example right now I am getting offers to do low level c++ work for android set-top tv boxes. This kind of work wouldn't even exist for iOS.

    The spend in the iOS store dwarfs whats happening in Google Play at the moment, so in that context of publishing apps. The money is in iOS.

    In addition, native C++ work isint what we are talking about here. The barrier to entry of writing Android apps is extremely low, which is the reason that (in central London anyway) iOS developers are contracting at higher rates than Android.


  • Advertisement
  • Registered Users Posts: 126 ✭✭a1000pigeons


    ChRoMe wrote: »
    I completely understand your rationale behind this choice, and I agree. Android has a very low barrier to entry, hence iOS is a better paid skill.

    However, I have to ask, do you have any previous iOS/Objective-c experience? If you don't, I'd be a bit concerned about taking this on, Objective-c is.... unique.

    Have been familiarising myself with iOS & objective-c through tutorials and books since last summer. I reckon I have a reasonable grasp of at least the basics. Over the last three years its mainly been Java in college, with some PHP, Actionscript and Rails just before Christmas (which I liked). I'm doing a Mac programming module at the minute so am hoping that'll help too. My main issue is sorting out the database side of things. It's a restaurant guide/booking app and I'm planning a Rails supporting website too, so need to read and write to one db from app and rails site. Right now I'm trying to work out the best way of implementing this. Thinking SQLite and JSON could be the way to go but not sure, I believe SQLite might not be suitable for anything heavy-duty but may be ok for my purposes. Any pointers (excuse the pun) would be very welcome.


  • Moderators, Society & Culture Moderators Posts: 17,642 Mod ✭✭✭✭Graham


    Is there any specific functionality that requires the data to be stored on the mobile device or could it all be pulled in from your database server via a JSON feed as required?

    I recently went through a similar process on a project I'm currently working on before I came to the realisation that there wasn't a huge amount to be gained from storing the data locally.

    I'm now investigating a cloud based option (Parse.com) to see how that works out.


  • Registered Users Posts: 126 ✭✭a1000pigeons


    Dont think so, hadn't planned on storing anything locally as I don't know is it necessary really. Pretty much need to pull mainly text & some pictures based on search parameters to the app from the database eg restaurant profile info, menus, etc. User can book table via email and use GPS to search nearby restaurants also. If user leaves a comment or rating, that will need to be written back to the database also.


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    Have been familiarising myself with iOS & objective-c through tutorials and books since last summer. I reckon I have a reasonable grasp of at least the basics.


    With the risk of being negative, the fact that you dont have a machine capable of developing for iOS already, and those few sentences above.

    I'd really advise you to think long and hard before committing to this, it sounds like you are in for a world of pain tbh.


  • Registered Users Posts: 7,157 ✭✭✭srsly78


    ChRoMe wrote: »
    The spend in the iOS store dwarfs whats happening in Google Play at the moment, so in that context of publishing apps. The money is in iOS.

    In addition, native C++ work isint what we are talking about here. The barrier to entry of writing Android apps is extremely low, which is the reason that (in central London anyway) iOS developers are contracting at higher rates than Android.

    The high-end android jobs I have been doing doesn't even exist for iOS because no customisation is allowed. The app-market stuff is a red herring. Most of the contracts for mobile developers look for BOTH android and iOS so I think your stats are way out of date (android now dominant, not in dispute anymore). You should know better than to believe anything that recruitment companies say anyway.

    OP sorry for dragging thread off-topic.


  • Registered Users Posts: 126 ✭✭a1000pigeons


    ChRoMe wrote: »
    With the risk of being negative, the fact that you dont have a machine capable of developing for iOS already, and those few sentences above.

    I'd really advise you to think long and hard before committing to this, it sounds like you are in for a world of pain tbh.

    It's probably a bit late to back out at this point tbh, so it's kind of **** or bust. I understand it will be a challenge but I think it's possible. I wouldn't consider myself a programming ninja but probably one of the better in the class and one of the few have gravitated towards programming as their intended area of specialisation. I was probably being a little conservative with regard to my knowledge of iOS and objective-c also, for fear of claiming to know more than I do. I do know more than the impression I gave but by no means a lot.


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    srsly78 wrote: »
    The high-end android jobs I have been doing doesn't even exist for iOS because no customisation is allowed. The app-market stuff is a red herring. Most of the contracts for mobile developers look for BOTH android and iOS so I think your stats are way out of date (android now dominant, not in dispute anymore). You should know better than to believe anything that recruitment companies say anyway.

    OP sorry for dragging thread off-topic.

    Who said anything about recruitment companies? Android is dominant.... by number of devices activated. So what? Its all about where people (read: consumers) spend their money.


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    It's probably a bit late to back out at this point tbh, so it's kind of **** or bust. I understand it will be a challenge but I think it's possible. I wouldn't consider myself a programming ninja but probably one of the better in the class and one of the few have gravitated towards programming as their intended area of specialisation. I was probably being a little conservative with regard to my knowledge of iOS and objective-c also, for fear of claiming to know more than I do. I do know more than the impression I gave but by no means a lot.

    Fair enough, I genuinely wish you the best of luck, tbh my heart just would have sank if the next few months would have produced threads with you asking basic stuff :)


  • Registered Users Posts: 7,157 ✭✭✭srsly78


    Large companies spend lots of money on android, this money goes into my pocket. I really don't care where the money comes from.


  • Moderators, Society & Culture Moderators Posts: 17,642 Mod ✭✭✭✭Graham


    Large companies also spend lots of money on iOS, there's plenty to be made around both platforms.


  • Advertisement
  • Registered Users Posts: 126 ✭✭a1000pigeons


    Decided on a Macbook Pro, can now concentrate on the project...


  • Registered Users Posts: 92 ✭✭jgh_


    srsly78 wrote: »
    Hahah what? There is an unreal amount of highly paid work around for Android. iOs stuff is more niche. Android is used in everything, for example right now I am getting offers to do low level c++ work for android set-top tv boxes. This kind of work wouldn't even exist for iOS.

    Jeez I need to get in on that action when I make the move, unless this is all the video work that appears to be in Galway for whatever reason.


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    Well seeing as this entire discussion has gone completely OT, I might as well throw my 2c in...

    Salaries / Contract Rates. These are higher for iOS at present because there are fewer iOS developers, which in turn because iOS development is harder to get into.

    Why this is the case is down to a number of reasons: Objective-C is a propitiatory language that needs to be learned from scratch (although it does bare similarities to other languages), as opposed to Java (which pretty much every developer will have some experience in). Publishing apps is more complex; an Android app requires only a $25 one-time fee and is up within minutes of being published, while iOS apps need to go through a sometimes arduous vetting process. However, the single biggest reason is that you can only develop for iOS on a Mac and this cuts out many would-be developers who will traditionally use a Windows or Linux and would either be hesitant or even not able to afford the cost of a second, even basic, machine.

    iOS apps are sold, but Android apps are advertising driven. Demographically, iOS users (iPhone and especially iPad) are older, wealthier and have a credit card in the first place. They're far more likely to spend one or three Euro on an app, while Android device users will tend to be younger, have less disposable income and many don't even have credit cards they can register to the Play store.

    This trend is further underlined by the much larger number of 'casual' developers, churning out free apps, meaning that there will almost always be a free alternative to a paid app - not to mention the proliferation of third-party market places that will have pirated versions of sold apps available for free.

    On the other side, the number of Android users out there (at least in the smartphone space) dwarfs iOS. This means that advertising becomes more viable and there are many Android apps that make plenty of money through advertising alone.

    Nonetheless, iOS has the overall revenue edge.

    iOS dominates B2C, Android dominates B2B. Because of the better revenue models available to iOS, it is overall more lucrative for a developer to develop apps aimed at consumers for iOS.

    However, increasingly businesses have been investing in custom in-house software for tablets and smartphones and in all but a small number of cases turning to Android. Why? Because the devices are cheaper (an important factor when you may have to buy them for all your staff), installation can more easily bypass the markets (again important for what will typically be an app not meant for the public) and Android is more powerful and versatile than iOS.

    Of the last, Android can leverage a lot more from a device than iOS, by design - iOS is purposely limited for security reasons. Additionally, Android is not limited to smartphones and tablets; in theory you can install it on any comparable computer in any piece of hardware, allowing someone to potentially do so with factory equipment or even household appliances.

    All this has led to a lot of work for the B2B sector, which simply does not exist to anywhere near the same level with iOS; there's a serious boom in the development of custom systems for companies that deal with things such as stock management, CRM, equipment management interfaces, document/media management, and so on; the vast majority of which are Android based. This does not mean that there is no B2B iOS market, but I can say pretty confidently that it is a fraction of the size of the B2B Android market.

    Overall, there are pros and cons in working with both platforms. But arguing either is better than the other is ultimately counter productive - even if one is, on balance, the reality is that it's not by much.

    Just learn to develop both, as someone who can develop in both will typically command higher rates than anyone who can only develop in one or the other.


  • Registered Users Posts: 126 ✭✭a1000pigeons


    Just an update, buying the MacBook Pro was very much worth it. I'm actually enjoying iOS development, XCode, the frameworks and feel I'm well on track with project - most of my views are created and I'm pulling JSON into the app, using MapKit and other features I required, all without great difficulty (so far). At this point I need to write back to the rails database from the app (i.e. user leaves comment within the app) and I have to deploy the rails project to a server which it seems there's more to it than I had planned for, however. Any advice greatly welcome...


  • Registered Users Posts: 92 ✭✭jgh_


    Just an update, buying the MacBook Pro was very much worth it. I'm actually enjoying iOS development, XCode, the frameworks and feel I'm well on track with project - most of my views are created and I'm pulling JSON into the app, using MapKit and other features I required, all without great difficulty (so far). At this point I need to write back to the rails database from the app (i.e. user leaves comment within the app) and I have to deploy the rails project to a server which it seems there's more to it than I had planned for, however. Any advice greatly welcome...


    Cool! Glad you're liking it!


    I'm not sure how hard the requirement to have your own rails backend is, but it might simply be easier to use Parse (www.parse.com) as a backend. They have a pretty easy to use iOS API and it means not having to do all the boilerplate CRUD stuff if it's not actually a requirement for your project. A free account should give you more than enough to do your project (1 million API requests/month, 1GB storage, 1 million push notifications/month).


  • Registered Users Posts: 126 ✭✭a1000pigeons


    Getting close to finishing now and am wondering if anyone might be able to offer some advice with regards to the Rails end of things. The iOS app allows users to send an email to the restaurant profile they are viewing to provisionally make a reservation (straight forward in iOS as this is handled by the Mail app). Is this achievable in my Rails app? Basically I need a form which will send an email to the email address of the restaurant profile being viewed from the email of the logged in user? I can get these addresses but can the sender and the receiver of the email be dynamically assigned without any configuration? I'd like to know if it's possible or not as I can't afford to waste time figuring that out at this point.
    Thanks in advance!


  • Registered Users Posts: 69 ✭✭palmtrees


    Getting close to finishing now and am wondering if anyone might be able to offer some advice with regards to the Rails end of things. The iOS app allows users to send an email to the restaurant profile they are viewing to provisionally make a reservation (straight forward in iOS as this is handled by the Mail app). Is this achievable in my Rails app? Basically I need a form which will send an email to the email address of the restaurant profile being viewed from the email of the logged in user? I can get these addresses but can the sender and the receiver of the email be dynamically assigned without any configuration? I'd like to know if it's possible or not as I can't afford to waste time figuring that out at this point.
    Thanks in advance!

    You could implement a form within your app, and sent the field values to the rails app via a http POST request perhaps? Your code would look like this on the iOS end (I'm only learning rails now so can't advise you on that stuff :))

    NSURL *url = [NSURL URLWithString: @"http://......"];
    NSMutableURLRequest* URLRequest = [[NSMutableURLRequest alloc] initWithURL: url];
    NSString* requestBody = [NSString stringWithFormat: @fieldOne=%@&amp;fieldOne=%@", fieldOneValue, fieldTwoValue];
    [URLRequest setHTTPMethod: @POST];
    [URLRequest setHTTPBody: [requestBody dataUsingEncoding: NSUTF8StringEncoding]];


Advertisement