Questions about Xcode

Discussion in 'iOS Programming' started by sparkania, Oct 27, 2013.

  1. sparkania macrumors newbie

    Joined:
    Oct 27, 2013
    #1
    Hi All. First Post... Allot of Questions...

    In the coming months I will be starting a service for Apple and Android. Same service on both sides, but as I am brand new to Apple, I have a few questions... I am hoping for some help.

    In Android development, at the end of programming, ultimately you end up with your app as an .APK file. From there, you publish that file.. Knowing of course that I will have to pay the developer membership..
    1. Is that the same (.ipa) with Apple?
    2. If Yes, Does Apple bind the App file to its developer? or could I theoretically e-mail that file to someone and they publish it?

    I have been made aware that Apple tests apps before they are published..
    3. Does Apple test before the initial file is created? or only prior to publishing on the store?

    I seem to trip over blogs and what not which seem to define development of apps for iPad and iPhone separately.. ("How to write apps for iPhone" ... "How to write apps for iPad")
    4. If I am not writing an App which uses any Phone, GPS or other device specific equipment or video resolution, is there a difference in production of apps for iPad and iPhone? or is the programming the same?

    Again, these are the questions I am chewing on at the moment. I really hope someone can get me straight on the answers.

    Thanks
     
  2. lee1210 macrumors 68040

    lee1210

    Joined:
    Jan 10, 2005
    Location:
    Dallas, TX
    #2
    1. yes
    2. Yes, but there are signing options that will allow folk to run the app if you email it. This is an enterprise option, though, and you'd be signing with a different account than you'd use for the App Store. With your App Store you have a limited number of devices you can run on without going through the store. Those devices need to be provisioned in advance.
    3. You submit the app, then it's tested. There's general verification when you upload, then actual testing before approval.
    4. It will be largely the same. You can have a universal app that runs on iPod Touch, iPhone, or iPad. There are options for optimizing your views and resources per device.

    -Lee

    P.S. There is an iOS-specific forum
     
  3. Duncan C macrumors 6502a

    Duncan C

    Joined:
    Jan 21, 2008
    Location:
    Northern Virginia
    #3
    Apple keeps a tighter reign on app installation than Google does with Android. The only apps you can install on a non-jailbroken iOS device must be digitally signed and authorized for that specific device. Normally, you upload a release .ipa file to Apple via iTunes connect, and the App Store handles authorization of the app and delivering an app with the right credentials for the target device.

    Apple uses a file called a "provisioning profile" to control what devices are allowed to run an app. You upload your app store submissions with a distribution provisioning profile.

    Apple's release testing happens on several levels. The most recent versions of Xcode have a "test for submission" option that runs through your app and does a bunch of automated checks that catches many of the dumb mistakes that used to get you rejected at the end of the review process. Once you've passed the local test, you submit your app to iTunes connect and Apple's systems run another round of automated testing on your app. If you get rejected by the automated testing it's usually within an hour (usually much less than that) of submitting your app.

    If your app passes both the local and server-based automated testing, it gets put in the queue for human reviewers. The amount of time it waits for review varies widely. Through most of the time we've been submitting apps this time has been somewhere between 7 and 10 days. However, the last 2 app updates we've submitted have been approved in 1 and 2 days. I was shocked.

    It is also possible to build apps that have an "ad hoc" provisioning profile that authorizes them to be run on a preset list of devices (up to 100 devices). This is intended for testing, and will get you in trouble with Apple if they catch you using it for sale/final distribution. Normally the user has to install ad hoc apps using iTunes or Xcode, but there are a couple of services that support over-the-air installation of ad hoc builds, and you could probably do it yourself if you had the will to slog through the arcane details of making it work. We've used a site called TestFlight for beta testing. The minimum (and very useful) set of ad hoc distribution and reporting services are free, and there are add-on tools that cost money.

    As the other poster said, there is also an enterprise developer license that essentially lets you set up your own private app store for distributing app inside your organization.

    Finally, there is a business-to-buisness (B2B) distribution option.

    I don't know all the details of the enterprise and B2B options, as I've only read high-level summaries of them and actually never distributed apps with those programs.
     
  4. dejo Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #4
    There is? Can you provide any details on this program. As far as I know, there is only the iOS Developer Program (Individual and Company), the iOS Enterprise Program, and the iOS University Program (which, it seems, is pretty similar to the Enterprise Program).

    https://developer.apple.com/support/ios/
     

    Attached Files:

  5. Duncan C macrumors 6502a

    Duncan C

    Joined:
    Jan 21, 2008
    Location:
    Northern Virginia
    #5
    I don't know a lot of detail about it. I just did a quick search and found this:

    http://www.apple.com/business/vpp/
     
  6. sparkania thread starter macrumors newbie

    Joined:
    Oct 27, 2013
    #6
    Wow... ok... lots of information..

    but I am still not truly clear on one aspect (I think Duncan covered it and I may not have truly caught it)

    One key aspect of the service I am looking to provide is a modified templated app for customers. ultimately they will receive a custom version of an app written by me in Xcode.

    Will I or will I not be able to perform this action? ie: I create the customized app, publish it to a file.. not to the store.. and then I deliver to them the file and they can publish it.

    This must be possible as I see app writers for apple on various contracting sites, I am just trying to feel it out.
     
  7. Duncan C macrumors 6502a

    Duncan C

    Joined:
    Jan 21, 2008
    Location:
    Northern Virginia
    #7

    No. You cannot provide an app as an IPA to a client and have them upload it. Part of building an app into an IPA is signing it with your developer credentials, and your credentials are different from your client's.

    You will have to provide an Xcode project that the client can build into an app and submit, or have them set you up as a developer on their team and submit it on their behalf.

    As a client, I would never agree to having a third party hand me a binary that all I could do is upload. If they went away, I would be dead.

    If you don't want to give out your source code, you could package the proprietary parts of your app as a static library, and only provide source for the generic app wrapper parts. You could conceivably build in some sort of key verification that would check the app's bundle ID and only run if the bundle ID matched. Bundle IDs must be unique on the App store, so a second client could not build an app against your static library and have it work.
     
  8. sparkania thread starter macrumors newbie

    Joined:
    Oct 27, 2013
    #8
    That sounds like an idea. but it sounds a bit beyond my capabilities. (possibly because I wouldnt know where to even begin.
     
  9. Duncan C macrumors 6502a

    Duncan C

    Joined:
    Jan 21, 2008
    Location:
    Northern Virginia
    #9
    Well then I guess you have your work cut out for you. :)
     

Share This Page