Titanium Community Questions & Answer Archive

We felt that 6+ years of knowledge should not die so this is the Titanium Community Questions & Answer Archive

ContactsPicker crashes on email address with exchange contacts

This is a bug report. I'm not quite sure if im in the right place for this.

The ContactPicker crashes the app on the email field if you select a contact that was synced via Microsoft Exchange.

Exchange contacts on the iPhone do not have a label associated with email addresses.

— asked September 29th 2010 by Per Jorgensen
  • contactpicker
  • contacts
  • crash
  • exchange
  • iphone
  • mobile
1 Comment
  • Anyone have any luck with this. It was suposed to be fixed in 1.7, I waited patiently but still am having crashes. Working great for "all fro my mac"

    Repro

    1. open email picker
    2. goto groups
    3. pick "<exchange> global address list"
    4. pick a contact

    CRASH

    its happening on a call to

    person.fullName

    Thread 0 name:  Dispatch queue: com.apple.main-thread
    Thread 0 Crashed:
    0   AppSupport                        0x30f9ebb0 CPRecordGetProperty + 16
    1   AppSupport                        0x30f9f586 CPRecordCopyProperty + 6
    2   AddressBook                       0x306593b8 ABRecordCopyValue + 8
    3   GroupNod                          0x0009ded4 -[TiContactsPerson valueForUndefinedKey:] (TiContactsPerson.m:311)
    4   CoreFoundation                    0x328cdefc -[NSObject(NSObject) performSelector:withObject:] + 16
    5   Foundation                        0x338ab7a2 __NSThreadPerformPerform + 262
    6   CoreFoundation                    0x32937a72 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 6
    
    — commented June 17th 2011 by Geoffrey S.

2 Answers

  • Accepted Answer

    I was able to modify the source code to prevent the crash from happeing. I've updated the lighthouse ticket with my findings.

    ContactsModule.m line 378

          if (CFlabel) {
            label = [NSString stringWithString:[[[TiContactsPerson multiValueLabels] allKeysForObject:(NSString*)CFlabel] objectAtIndex:0]];
            CFRelease(CFlabel);
          }
          else {
            label = @"none";
          }
    
    — answered November 15th 2010 by Ming-Gih Lam
    permalink
    1 Comment
    • For further info, track the ticket

      — commented November 15th 2010 by Kevin Whinnery
  • I am experiencing the same issue, as well as some others.

    The appropriate thing to do, now that you have confirmed more of us are having the issue is to see if there are any existing lighthouse tickets…..and if not create a new one.

    — answered October 6th 2010 by Mike Robinson
    permalink
    1 Comment
    • I submitted the following ticket for this

      — commented November 10th 2010 by Ming-Gih Lam
The ownership of individual contributions to this community generated content is retained by the authors of their contributions.
All trademarks remain the property of the respective owner.