accessing app data

Discussion in 'iOS Programming' started by ntlaxboy, Jun 1, 2009.

  1. ntlaxboy macrumors newbie

    Joined:
    Jun 1, 2009
    #1
    Hello,

    I've been surfing for a while trying to find the answer to this question, and haven't had much luck, so I figured I'd give posting on this forum a go. I don't have too much programming experience, especially not with Obj-C. However, I'm about to begin writing an app for the ipod touch that records answers to some survey questions, and stores the completed survey. The roadblock really becomes how to get these filled-in surveys off of the ipod. The survey data needs to be securely transferred from the ipod to a pc/mac, preferably over a non-wireless connection (although a secure network would probably be okay) since the data is confidential and will be deleted from the ipod after transfer. I haven't decided on the best format for the data, but for the sake of discussion, assume its something like XML.

    Thanks a lot!
     
  2. bredell macrumors regular

    Joined:
    Mar 30, 2008
    Location:
    Uppsala, Sweden
    #2
    How about encrypting the data and sending it as an email attachment?
     
  3. BlackWolf macrumors regular

    Joined:
    Apr 9, 2009
    #3
    in the end, you have to do it over wifi and that leaves you with two options:

    1) email or some kind of instant messenger or something similair
    2) using your own server and giving the user an url where he can pick up the data. of course, if you need this to be secure, this requires user accounts and stuff like that.

    theoretically, it could be possible to transfer the data directly to an pc mac, if you have the internal ip of the pc/mac and the username/password to connect to it. I never tried something like that, but I guess it should be possible the same way you would open a connection to the internet. problem is, you need some kind of protocol to connect to the computer. I think macs can be accessed via ssh, but pcs ...
     
  4. jnic macrumors 6502a

    Joined:
    Oct 24, 2008
    Location:
    Cambridge
    #4
    Specifically, for email attachments you'll want public-key encryption. The SDK supports RSA I believe.

    Alternatively, host it server-side and SSL between it and your users.
     
  5. ntlaxboy thread starter macrumors newbie

    Joined:
    Jun 1, 2009
    #5
    Thanks to all of your suggestions. I'm leaning away from email because it leaves too many copies of the data in circulation, and the data is supposed to be confidential survey information. Theoretically, there will be several ipods feeding the data to one computer that would print out a copy of the completed survey and probably store the only digital copy of the data a secure server.

    @Blackwolf: How difficult is it to set up a secure server, per your #2 below, and more relevantly to this forum, how hard is this to code on the iphone/ipod touch?
     
  6. BlackWolf macrumors regular

    Joined:
    Apr 9, 2009
    #6
    well, it depends how secure you want it to be.
    setting up a simple login system shouldn't be too hard.
    it has some downsides for the user though. he has to register and then visit your webpage and login in order to get his data.

    if you want it to be really secure, you need an encrypted SSL connection. and that is pretty difficult to set up, at least I think that :D

    and, of course, a server has the downside that the data of all your users are stored in one single location. if your server gets hacked then the hackers have access to all the data at once ... if that matters.
     
  7. jnic macrumors 6502a

    Joined:
    Oct 24, 2008
    Location:
    Cambridge
    #7
    If it's public-key encrypted then the attachment would not be human-readable or decryptable except by you, so copies would not be a problem.

    Apache supports SSL natively, and generating your own certs is pretty straightforward. The iPhone SDK offers the CommonCrypto library for client-side SSL, or alternatively you could use a web-based login, which would let WebKit do most of the client-side work for you.
     

Share This Page