0xced / ABGetMe

ABGetMe implementation for iOS using undocumented APIs (safely)
MIT License
144 stars 8 forks source link

ABGetMe Crashes on iOS 6b2 #1

Closed coneybeare closed 11 years ago

coneybeare commented 12 years ago

Crash

+[MFMailAccountProxy reloadAccounts]: unrecognized selector sent to class 0xa78d30

The @try/@catch does prevent the app crash, but the code no longer works on iOS 6.

lbrndnr commented 12 years ago

Yeah I've had this bug too but I couldn't reproduce it. It happend only a couple times for me.

coneybeare commented 12 years ago

For me it is reproducible every time on iOS 6b2

0xced commented 12 years ago

Please run the latest version, I have tried to add support for iOS 6. But since I don't have a device running iOS 6 I could not test, so please report if it works.

mstottrop commented 12 years ago

I tried it on the latest beta, and ended up with this error message: Error retrieving account information: Error Domain=MailServices Code=1504 "The operation couldn’t be completed. (MailServices error 1504.)

alanzeino commented 12 years ago

The +reloadAccounts private class method is gone from MFMailAccountProxy in iOS 6.

Jusung commented 12 years ago

I have same problem. Does anyone know how to resolve this?

alanzeino commented 12 years ago

Not possible. Apple has created specific processes which run MFMail* and other share view controllers in iOS 6 to close this data leak.

Jusung commented 12 years ago

Thanks @alanzeino then I'm gonna use different way.

iosdeveloper commented 11 years ago

Why don't you parse

/var/mobile/Library/Preferences/com.apple.accountsettings.plist

into a NSDictionary and get Email account information from there (Hint: It doesn't even use private API)?

alanzeino commented 11 years ago

@iosdeveloper Because of the app sandbox?

iosdeveloper commented 11 years ago

You cannot write outside of the app bundle, but there are a few files you have read access to...

0xced commented 11 years ago

Good idea, I'll parse the contents of /var/mobile/Library/Preferences/com.apple.accountsettings.plist I’m amazed that you can still read this file on iOS 6.1. :open_mouth:

thetylerhayes commented 11 years ago

Did you ever get a chance to prep a diff for this? I just stumbled on ABGetMe and would love to use it, but I'm (obviously ;) getting this same error on iOS 6 devices.

0xced commented 11 years ago

Since this com.apple.accountsettings.plist file will not be readable on iOS 7 I’m not going to update this code and instead just state that ABGetMe doesn’t work properly on iOS 6 and later.

gcerquant commented 11 years ago

@0xced Thank you Cédric, was great to be able to use this code.