ICEmobile
  1. ICEmobile
  2. MOBI-1130

FetchContact does not work on iPhone with iOS8.2

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: BridgeIt 1.0.5
    • Fix Version/s: BridgeIt 1.0.6
    • Component/s: BridgeIt
    • Labels:
      None
    • Environment:
      iphone iOS8.1.3 & 8.2 icemobile

      Description

      From the showcase mobile app on iPhone (with iOS7 on iPhone 4 this works fine).
      choose Fetch Contact example, click on Fetch Contact button, select contact (if already have bridgeIt, if not get bridgeIt first then select contact).
      as soon as contact is selected the screen will exit bridgeIt but not return to Safari, see attached screen shot. Even if you go back into Safari and the web app and press upload, the contact is not uploaded.

      Further debugging indicates that the BridgeIt iOS app. is closing to the home screen immediately following the user selection of a contact. This seems to be related to the "Contacts" permissions settings on the phone. In some cases, users who download the bridgeit app. and respond to the security popup the first time that the Fetch Contact demo is run with "Always Allow" will have the "Contacts" settings added and enabled in the BridgeIt Settings under "Allow BridgeIt to Access:". In these cases (when the setting is added), the app. works as expected and returns a contact to the web application. However, in many cases the the app. will instead crash to the home screen, and there will be no entry for "Contacts" in the BridgeIt Settings screen.

      This crash can also be reproduced by disabling access to the "Contacts" in the BridgeIt Settings screen.

      So this issue is somehow related to the access restrictions code in the BridgeIt app.

        Activity

        Hide
        Patrick Corless added a comment -

        Added code protection and retested with null email and phone number records.

        Show
        Patrick Corless added a comment - Added code protection and retested with null email and phone number records.
        Hide
        Patrick Corless added a comment -

        Good news is that this isn't a one off permissions issue. The issue is related to the dat values in a particular contact. If the contact does not contain an email or phone number then the person parsing method will null pointer.

        The fix is pretty easy just add some code protection for null phone and email entries and while I'm at it a few comments to explain what the method does.

        Show
        Patrick Corless added a comment - Good news is that this isn't a one off permissions issue. The issue is related to the dat values in a particular contact. If the contact does not contain an email or phone number then the person parsing method will null pointer. The fix is pretty easy just add some code protection for null phone and email entries and while I'm at it a few comments to explain what the method does.
        Hide
        Ken Fyten added a comment -

        Also note that as of iOS 8...

        The Address Book UI people picker has been changed for iOS 8. A new mode with new API has been added where the app does not need access to the user’s contacts and the user will not be prompted for access. A temporary copy of the selected person is returned to the app. See ABPeoplePickerNavigationController.h for more details.

        Show
        Ken Fyten added a comment - Also note that as of iOS 8... The Address Book UI people picker has been changed for iOS 8. A new mode with new API has been added where the app does not need access to the user’s contacts and the user will not be prompted for access. A temporary copy of the selected person is returned to the app. See ABPeoplePickerNavigationController.h for more details.
        Hide
        Judy Guglielmin added a comment -

        screen shot of where bridgeIt loads to after the contact is selected.

        Show
        Judy Guglielmin added a comment - screen shot of where bridgeIt loads to after the contact is selected.

          People

          • Assignee:
            Patrick Corless
            Reporter:
            Judy Guglielmin
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: