akemin-dayo / PreferenceOrganizer2

Organise the iOS Settings app!
https://cydia.akemi.ai/?page/net.angelxwind.preferenceorganizer2
BSD 2-Clause "Simplified" License
60 stars 33 forks source link

iOS 9.0.2 iPad crashes #9

Closed vit9696 closed 8 years ago

vit9696 commented 8 years ago

Hi, The following line makes Preferences crash on iOS 9.0.2 iPads. I do have PreferenceLoader installed, so it is discussible who could be guilty in the issue. https://github.com/angelXwind/PreferenceOrganizer2/blob/master/PreferenceOrganizer2.xm#L262 Guarding it with an if condition or commenting is a workaround you could temporarily push in.

What I am certain about is that the items themselves are hardly related to the crash. Almost none can be left from the complete list to get it run:

akemin-dayo commented 8 years ago

You mean TweakSpecifiers = [tweaksGroup retain]; causes iPads to crash?

vit9696 commented 8 years ago

Agh, did I make a link to an older source file. [specifiers removeObjectsInArray:AppleAppSpecifiers]; of course

akemin-dayo commented 8 years ago

Huh. I don't quite... understand how that could cause a crash, or why it would be specific to iPads. :/

Can you install CrashReporter and send me a syslog/crash log?

vit9696 commented 8 years ago

Yes, sent via irc.

vit9696 commented 8 years ago

I spent a little more time investigating this, and unfortunately found no decent way to fix it. At least I would not call catching the exceptions and ignoring them a decent idea. PSListController does even seem to store pointers to the items of specifiers array, which brings a lot of mess and makes the proper fix annoying and time-consuming to create (especially given that I do not need Apple Apps category myself). Maybe I was looking from the wrong end, and the right way is to not tamper with specifiers but to hook the drawing code I don't know.

I added some workarounds to prevent it from crashing even after enabling Apple Apps category in settings by accident. Also, I think fixed the social apps/tweaks issue but this would require a change (https://github.com/rpetrich/preferenceloader/pull/1) to PreferenceLoader. https://ghostbin.com/paste/kgz33

OzancanKaratas commented 8 years ago

I think you should release a new version. Also new version will provide the language support. Please release now!

akemin-dayo commented 8 years ago

@OzancanKaratas Working on updating mikoto first.

Regarding localisation support, I'll need to add a mikoto-style "Credits" section to the tweak to properly credit all contributors (English and Japanese are done in-house by myself, but you contributed the Turkish localisation, so I want to properly credit that)

...I also have to figure out this terrible iPad crashing issue >_>

akemin-dayo commented 8 years ago

Finally fixed.