Manisha Manisha - 5 months ago 10
iOS Question

how do i design/architect my user details app in iOS

I'm new to iOS and have just started leaning it. I want to develop a small app for bus passengers where-in all users in the bus must login using the app.

If user is using the app for 1st time, he must sign up . User must enter all details like Name,Age,Emergency Contact,Address,Source,Destination,Phone number etc.

If user already exist, then login with existing user name and password.

All details must be stored somewhere (not sure) and retrievable format.

Here comes all my question and doubts based on above app requirements :


  1. do i need to follow client-server architecture ?(mobile app being client )

  2. where all user details will be stored ( on mobile or server )

  3. when user tries to login, how check if user already exists or not ?

  4. if any communication protocol to be used for mobile app communication then which will be good considering the performance of app should be fast.

  5. mobiles internet data should be available ?

  6. which database to use to store user details ?



considering all above things i need to design my app.

thanks

Answer

I will try to give some points to start from.

1) I think yes (its really depends what you want to achive but if you only want to get/pos resources to/from server, http request should be enough to start from).

2,6) Depends which details.

  • For simple details which no need in protection NSUserDefaults Sqlite or Core data can fit. (also there are some nice wrappers for them for instance TMcache, you will need to investigate it).
  • If you need to save private details you will probably need to use keychain.(honestly I would avoid saving important details on the device everything can be hacked so try to limit it).

3) One of the common ways which come to my mind is to check in run time if the user already logged in is by saving login status in NSUserdeFaults and check it in - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions. If you need to check Existence of user in your system than probably some server help will be need.

4) Please refer to apple Docummentation NSURLSession should fit.Also AFNetworking is really good library.

Edit:

5) Usually IOS will use Current Internet Connection which is available and more efficient for the system it will start with WIFI then CellularData (Check Reachability for testing availability of internet connection its also included in AFNetworking library) .

-All those questions/answers can be found on stack.Hope I helped.
List of common IOS frameworks