Whenever my application crashes it offers to send a mail to me with crash and session logs. To make the user enter less information I read out the me card from Contacts to prefil email address and name. However, the message when accessing the contacts makes some users think that I read out ALL contacts.
Is there a way to make this message nicer?
[code] try
dim theAddressbook as new ABAddressBookMBS
if theAddressbook = nil then Return
dim theMe as ABPersonMBS = theAddressbook.owner
if theMe = nil then Return
dim theABEmails as ABMultiValueMBS = theMe.valueForProperty(theAddressbook.kABEmailProperty)
if theABEmails = nil or theABEmails.count = 0 then Return
dim theEmail as String = theABEmails.valueAtIndex(0).StringValue
me.Text = theEmail
catch err as UnsupportedOperationException
Return
end try[/code]
No that’s built in from Apple when you try to access contacts for the first time. I don’t know what it says in that language, but the English version doesn’t sound bad or anything.
Technically speaking, that’s the level of access the app is requesting. I have made that same assumption before as a user when an app that doesn’t need my contacts asks for them. I would just take the auto-populate code out.
In that case, how about showing a dialogue box before you access the addressbook that’s telling the user that (and why and mabye what) you want to have access to his addressbook and that he does not have to be concerned there will never be a part of his addressbook sent to places outside the app?
In App Wrapper, click on the “Info” tab and then the “+” symbol at the bottom of the first list, select “Sandbox” and then “Contact Usage Description”.
It doesn’t (yet) support multiple languages, but it’s something that I can look into for the future.
@Tim: autopopulating data from the me card helps with typos (some people can’t input their own email address) and confusion (had a case where a customer put in MY email address).
@Ulrich: 2 messages boxes? I’d rather not. The information about privacy and data is there. But the user can only see this after the contacts message box. And I rather think that not too many read this.
@Sam: no MAS, no sandbox.
I could swear that I once used an application that had a nicer error message. But I can’t remember which application.
It’s not a Sandbox entitlement, it’s a info.plist key, but it goes hand-in-hand with the Sandbox entitlement, it may or may not work outside of a Sandboxed application. If you have App Wrapper, give it a quick try.
I’m pretty sure it’s possible, it just that I need to build the interface into App Wrapper, that’s the head scratcher!