Tagged with:  

93 Responses to “iOS Login Screen tutorial : XCode 5 + ios 7 + Storyboard + JSON”

  1. ayay says:

    Hello Dipin, first of all thanks for the great tutorials.

    secondly, do you plan on finishing this one anytime soon? thanks

  2. Scott says:

    Hi, sorry I meant to post this here not your other tutorial

    I used your code to communicate with my local server / php files which in term communicate with my mysql backend database

    When I run the login screen on my simulator it works great the query finds my username in my database and logs me in

    However, when I try to test it on my app itself it does not work, and passes in a response code of 0

    Any idea how I can resolve this? Thanks

  3. Scott says:

    Hi, thanks for your response, that was indeed the problem

    I found out what my problem was

    I needed to set up a proxy within my localhost in order for my app to communicate with my local server

    Thanks for you help

  4. Scott says:

    Hi Dipin,

    Just wondering, I’ve added more than two UITextfields to my login screen (email and a reenter password)

    Just wondering how I can check and see if all four fields are blank at the @try as opposed to two


    • Hi Scott,

      Do you want to check whether any one of them are empty?

      if([[self.txtUsername text] isEqualToString:@""] || [[self.txtPassword text] isEqualToString:@""] || [[self.txtPasswordConfirm text] isEqualToString:@""] || [[self.txtEmail text] isEqualToString:@""]) {
          [self alertStatus:@"One of them is Empty" :@"Sign in Failed!" :0];

      or all of them are empty?

      if([[self.txtUsername text] isEqualToString:@""] && [[self.txtPassword text] isEqualToString:@""] && [[self.txtPasswordConfirm text] isEqualToString:@""] && [[self.txtEmail text] isEqualToString:@""]) {
          [self alertStatus:@"All of them are Empty" :@"Sign in Failed!" :0];
  5. Scott says:


    All of them, I tried both of those options before you posted them, I will try again & get back to you.

    I appreciate your quick response and help


  6. farook says:

    great tutorial. I’m new to objective C and xcode. I’m trying to understand the last page.
    correct me if I’m wrong. is it set up to connect to an online server to verify the username and password?
    if yes, how do I set it up in a way that its all done offline?
    Thank you for your patience.

  7. Augusto says:

    Hi Dipin,
    great tutorial. I’m with a problem.
    When I put the login and password correctly, the program crashes and the following message appears:
    “Thread 1: signal SIGABRT”

    on the ACAPPDelegate.h

    Didi you know?


  8. Bob says:


    How do I create my own JSON login webpage to go along with this tutorial, so I can store the usernames in a table/database?

  9. Sahil Kaushal says:

    Hey Dipin !

    Your tutorial are the best one from the bunch of tutorials i have watched.
    Can you guide me that how can i learn full fledged i-phone app development.



  10. sahil says:

    Can u please explain the above code.
    If i need to create my app with login page , so can use your code with my url or i have to re write the code.

  11. Francis says:

    Hi, great tutorial, thanks.

    I’m encountering several problems:

    - In the log, if I put in the correct username/pw it returns success:1, however the last line always reads success:0 so I cannot login even with correct details
    - When the invalid pop up message appears and I press OK, I’m navigated to a blank white screen so I have to restart the app (I don’t have this screen in the storyboard so not sure what’s happening their)

    Any ideas? Thank you!


  12. noor says:

    Hey buddy
    Your tutorial is amazing. I have followed everything and it seems to be working but i am working on a tat app and want to have a create an account page where new users create an account and takes me to home screen.

  13. Hazriq Ishak says:

    Hi. I’m new in iOS development.

    When I’m trying to add another button into my home screen; after successfully logged in.
    I can’t really declare (if that is the right term) it in XYZViewController.h.


  14. Braulio says:

    Hi, I need to connect to an aspx webservice. How do I?

  15. mondousage says:

    Awesome post. Thank you.

  16. sweetysmilez says:

    Great tutorial..really enjoyed it :D

    how do i connect to my php localhost?
    tried replacing this
    but it doesn’t seem to connect..

  17. zacharisharris says:

    Hello, thanks for the great tutorial! :)
    I have a login website which executes a login.asp file when you submit details.
    Can I use this code to login to the asp file or can you please tell me how to link the login app to this file? Please I really need this.

    Thank you :)

    • Your login.asp file will have to return json for the app to process.
      You can pass in an extra parameter (json=1) along with the username & password from the app to the login.asp, so that login.asp knows that it needs to return a json response rather than the html.

  18. Geoff says:

    Hello Dipin,

    Thank you for providing this tutorial, great stuff.
    I have only recently started developing apps so I need a little guidance. What are the necessary changes that need to be made to the code in order to for this to work with my own website and what information does the website need to supply. I hope I explained that as clearly and concisely as possible.

    Thank you

    • Hi Geoff,

      You will need to replace the url and params with that of your website’s.
      And your website url will have to send a json response.

      • Geoff says:

        Ok thank you, quick response too.

        And if I am trying to provide login access to hundreds of people what would I need to change or should it work as long as their information is set up in the same format on the website?

      • You should better use a db for that. :)

  19. Stephan says:

    Hey great work… :)

    However I get to errors in viewController.m:

    No visible @interface for “NSArray” declares the selector “text”.

    These come at the these lines:

    if([[self.txtUsername text] isEqualToString:@””] || [[self.txtPassword text] isEqualToString:@””] ) {

    NSString *post =[[NSString alloc] initWithFormat:@”username=%@&password=%@”,[self.txtUsername text],[self.txtPassword

  20. Prasit says:

    Hi, Thank you for your great tutorial.
    I’ve some problem, when I use your code, I try to “Login Fail” and then the page still goto homeScreen.

    if (success) {
    [self performSegueWithIdentifier:@"login_success" sender:self];

    How to go back to Login Page when Login Fail?

    Thank you

  21. Libin says:

    Can I use this same code to connect with .net web service that returns JSON response?

  22. James says:

    hello, i have changed the website url to the one i want however when i enter the correct login username and password it crashes and says thread 1 signal SIGABRT then when i go to the debug area is says this:

    2014-06-23 21:09:57.804 Bilton App[7370:60b] Cannot find executable for CFBundle 0x10943c030 (not loaded)
    2014-06-23 21:10:07.033 Bilton App[7370:60b] -[KJViewController signinClicked:]: unrecognized selector sent to instance 0×109320400
    2014-06-23 21:10:07.035 Bilton App[7370:60b] *** Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘-[KJViewController signinClicked:]: unrecognized selector sent to instance 0×109320400′
    *** First throw call stack:
    0 CoreFoundation 0x000000010194a495 __exceptionPreprocess + 165
    1 libobjc.A.dylib 0x00000001016a999e objc_exception_throw + 43
    2 CoreFoundation 0x00000001019db65d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
    3 CoreFoundation 0x000000010193bd8d ___forwarding___ + 973
    4 CoreFoundation 0x000000010193b938 _CF_forwarding_prep_0 + 120
    5 UIKit 0x0000000100257f06 -[UIApplication sendAction:to:from:forEvent:] + 80
    6 UIKit 0x0000000100257eb4 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 17
    7 UIKit 0×0000000100334880 -[UIControl _sendActionsForEvents:withEvent:] + 203
    8 UIKit 0x0000000100333dc0 -[UIControl touchesEnded:withEvent:] + 530
    9 UIKit 0x000000010028ed05 -[UIWindow _sendTouchesForEvent:] + 701
    10 UIKit 0x000000010028f6e4 -[UIWindow sendEvent:] + 925
    11 UIKit 0x000000010026729a -[UIApplication sendEvent:] + 211
    12 UIKit 0x0000000100254aed _UIApplicationHandleEventQueue + 9579
    13 CoreFoundation 0x00000001018d9d21 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    14 CoreFoundation 0x00000001018d95f2 __CFRunLoopDoSources0 + 242
    15 CoreFoundation 0x00000001018f546f __CFRunLoopRun + 767
    16 CoreFoundation 0x00000001018f4d83 CFRunLoopRunSpecific + 467
    17 GraphicsServices 0x0000000103ac1f04 GSEventRunModal + 161
    18 UIKit 0x0000000100256e33 UIApplicationMain + 1010
    19 Bilton App 0x00000001000023e3 main + 115
    20 libdyld.dylib 0x0000000101fe25fd start + 1
    libc++abi.dylib: terminating with uncaught exception of type NSException

    • Hi,

      Can you make sure ‘signinClicked’ is defined, if so, please paste here the code which is calling ‘signinClicked’.

      If you had copied the code from tutorial, i think i have made a typo “sigininClicked”.


      • James says:

        Ahh got it now i corrected the mistake and now it works good however when i enter the correct username and password it comes up sign in failed (i am trying to log onto my schools vle)

  23. Nick says:

    This is an awesome tutorial! Is there a way to save username/password information so the user only has to login on first launch? Thanks!

    • You can use NSUserDefaults.


      NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
      // saving an NSString
      [prefs setObject:@"TEXT" forKey:@"keyToLookup"];
      // saving an NSInteger
      [prefs setInteger:99 forKey:@"integerKey"];
      // saving a Double
      [prefs setDouble:1.234 forKey:@"doubleKey"];
      // saving a Float
      [prefs setFloat:1.2345678 forKey:@"floatKey"];
      [prefs synchronize];


      NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
      // getting an NSString
      NSString *myString = [prefs stringForKey:@"keyToLookup"];
      // getting an NSInteger
      NSInteger myInt = [prefs integerForKey:@"integerKey"];
      // getting an Float
      float myFloat = [prefs floatForKey:@"floatKey"];
  24. John says:

    Hi dipin, great tutorial two queries we are having our app developed
    Firstly could our developers use your code for our one time login for users in our app.
    Secondly if thousands of users were login too our app where would we access all there data from, will our developers need to link our app to our website and what security can be put in place to secure users details


  25. Louis says:

    I am trying to log on to my schools vle, I am entering my login and password which is correct however it won’t let me log in it comes up sign in failed

  26. Louis says:

    Yeah the app use to crash on signing then I defined the signin correctly and now it comes up saying sign in failed but doesn’t crash the app and the URL is vle.biltonschool.co.uk

  27. Kadir says:

    Thanks for this tutorial.

  28. Marlow Fernandez says:

    Everything works great. The code was amazing and I thank you for that. I have only one question. How would a person use a “signup” button to save the information to the file? Or would it have to be to a “database” of some sort?

  29. Eric McCarthy says:

    This is a very helpful tutorial. Do you plan on making one for xcode 6/ swift?

  30. Si says:

    This tutorial works fine for the simulator, I can send data to and form the php page fine. But when I run it on my iPhone, it is unresponsive and then says “Login Failed! Connection Failed”.

    In Xcode it says in the debugger the response code is 0 and “the request timed out.”. Why would the simulator be fine and the phone not? Please help!

  31. Ibrahim Chiha says:

    Hi Dipin,
    Love the tutorial very helpful but there’s one thing I need and it’s not working for me :(
    I am developing an app for my school, where it uses a website with a login username and password. I was trying to make a login and username ViewController and take the user’s input and plug it in the HTML, and then opens a UIWebView and logs in with those credentials. Can you please help me? I need to submit this app to my school as soon as possible.

  32. Victor D says:


    When I finished the application, xCode told me two errors :

    1) http://hpics.li/873467e (Screenshot)
    2) http://hpics.li/b5fb9da (Screenshot)

    How can I fix this ?

    Thank’s for this great tutorial!

  33. Vicky says:

    Amazing tutorial thank you!

  34. Matteo says:

    HI Dipin, amazing guide!
    I’ve downloaded the code but when I try to simulate to any kind of device I got the error
    xcode cannot run using the selected device
    chose a destination with a supported architecture in order to run on this device.

    My developer profile is expired but I don’t think it is a problem for running the app on simulator.
    I’ve try looking at
    Build Settings > Build Options > Compiler for C/C++/Objective-C (LLVM)
    Bundle Name = ${PRODUCT_NAME}
    Executable file = ${EXECUTABLE_NAME}
    but still doesn’t work.
    Any idea?
    thank you

  35. fahd says:

    nice tutorial

  36. Nana jaan says:

    hye, i need you die and suggestion,

    i have tried this tutorial to adapt my apps which to allow user to check their member card application status, sadly i can’t use it effectively.

    i need an apps example that user will insert their application number thru mobile, and they will get the status of their application.

    database mySQL. – storing users application status.

  37. Ibrahim Chiha says:

    I read all of your comments, and some had the same issue. Can you please tell me how to grab authentication code from a website and how to use them to check if I had correctly logged in? I know I’m asking for too much, but it would really help me if you replied!

  38. Ibrahim Chiha says:

    Both of them result in a connection failed. I really need this to work, please help me!

  39. Hey,

    Do you have access to the website, to make changes?

  40. Ibrahim Chiha says:

    No, I do not :(

  41. Hm, lets try.
    Can you check the response for a successful and an unsuccessful login, see if the page redirects for any one of them.
    If the page ‘redirects’ to another page after successful authentication, then in the app we can check to see if the page is redirecting when trying to authenticate.

  42. Hi,
    Are you testing it on the simulator?
    Can you confirm that you are connected to the internet?

Leave a Reply


More in iOS, Objective C (4 of 13 articles)