rpetrich / applist Goto Github PK
View Code? Open in Web Editor NEWDynamic access to installed application list, their icons and simple preferences panes
License: GNU Lesser General Public License v2.1
Dynamic access to installed application list, their icons and simple preferences panes
License: GNU Lesser General Public License v2.1
I test it on iOS 10 Jailbreak, canot get app list
SpringBoard crash on iOS 13 when get large icon image by +[SBIconModel sharedInstance]: unrecognized selector
https://github.com/rpetrich/AppList/blob/master/ALApplicationList.x#L577
No longer exist SBIconViewMap
class in iOS 13.
https://github.com/rpetrich/AppList/blob/master/ALApplicationList.x#L568
AppList crashes on iOS 14
AppList version : 1.5.1
When taped preference of DietBar, SpringBoard crash with NSException.
Feb 3 10:02:09 iPad SpringBoard[998]: *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ valueForUndefinedKey:]: this class is not key value coding-compliant for the key isWebApplication.'\n*** Call stack at first throw:\n(\n 0 CoreFoundation 0x3587a987 __exceptionPreprocess + 114\n 1 libobjc.A.dylib 0x34a8249d objc_exception_throw + 24\n 2 CoreFoundation 0x3587a705 -[NSException dealloc] + 0\n 3 Foundation 0x311c5c4f -[NSObject(NSKeyValueCoding) valueForUndefinedKey:] + 186\n 4 Foundation 0x311809e5 _NSGetUsingKeyValueGetter + 88\n 5 Foundation 0x3117fe8f -[NSObject(NSKeyValueCoding) valueForKey:] + 190\n 6 Foundation 0x31221209 -[NSFunctionExpression expressionValueWithObject:context:] + 660\n 7 Foundation 0x3117e02d -[NSComparisonPredicate evaluateWithObject:substitutionVariables:] + 152\n 8 Foundation 0x312255fb -[NSCompoundPredicateOperator evaluatePredicates:withObject:substitutionVariables:] + 186\n 9 Foundation 0x3121e43f -[NSCompoundPredicate evaluateWithObject:substitutionVariables:] + 186\n 10 Foundation 0x3117df8d -[NSPredicate evaluateWithObject:] + 16\n 11 Foundation 0x3117de65 _filterObjectsUsingPredicate + 436\n 12 Foundation 0x3117dba9 -[NSArray(NSPredicateSupport) filteredArrayUsingPredicate:] + 404\n 13 AppList.dylib 0x0038eb57 0x0 + 3730263\n 14 AppList.dylib 0x0038eeb5 0x0 + 3731125\n 15 CoreFoundation 0x35817be7 __CFMachPortPerform + 210\n 16 CoreFoundation 0x3580f6ff __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 26\n 17 CoreFoundation 0x3580f6c3 __CFRunLoopDoSource1 + 166\n 18 CoreFoundation 0x35801f7d __CFRunLoopRun + 520\n 19 CoreFoundation 0x35801c87 CFRunLoopRunSpecific + 230\n 20 CoreFoundation 0x35801b8f CFRunLoopRunInMode + 58\n 21 GraphicsServices 0x320c84ab GSEventRunModal + 114\n 22 GraphicsServices 0x320c8557 GSEventRun + 62\n 23 UIKit 0x341dc329 -[UIApplication _run] + 412\n 24 UIKit 0x341d9e93 UIApplicationMain + 670\n 25 SpringBoard 0x00003f23 0x0 + 16163\n 26 SpringBoard 0x000036d4 0x0 + 14036\n) Feb 3 10:02:09 iPad com.apple.SpringBoard[998]: terminate called after throwing an instance of 'NSException'
Also crashed Preference.app
Feb 3 10:02:10 iPad Preferences[1008]: -[__NSCFDictionary localizedCaseInsensitiveCompare:]: unrecognized selector sent to instance 0x1d7ea0 Feb 3 10:02:10 iPad Preferences[1008]: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary localizedCaseInsensitiveCompare:]: unrecognized selector sent to instance 0x1d7ea0'\n*** Call stack at first throw:\n(\n 0 CoreFoundation 0x3587a987 __exceptionPreprocess + 114\n 1 libobjc.A.dylib 0x34a8249d objc_exception_throw + 24\n 2 CoreFoundation 0x3587c133 -[NSObject(NSObject) doesNotRecognizeSelector:] + 102\n 3 CoreFoundation 0x35823aa9 ___forwarding___ + 508\n 4 CoreFoundation 0x35823860 _CF_forwarding_prep_0 + 48\n 5 libapplist.dylib 0x03b5e2d9 0x0 + 62251737\n 6 CoreFoundation 0x3582c181 __-[NSMutableArray sortUsingFunction:context:]_block_invoke_1 + 16\n 7 CoreFoundation 0x3582c16d __-[NSMutableArray sortRange:options:usingComparator:]_block_invoke_1 + 20\n 8 CoreFoundation 0x3580a6ed __CFSimpleMergeSort + 412\n 9 CoreFoundation 0x3580a581 __CFSimpleMergeSort + 48\n 10 CoreFoundation 0x3580a467 CFSortIndexes + 142\n 11 CoreFoundation 0x35818769 -[NSMutableArray sortRange:options:usingComparator:] + 456\n 12 CoreFoundation 0x3581858f -[NSMutableArray sortWithOptions:usingComparator:] + 58\n 13 CoreFoundation 0x3582c0e5 -[NSMutableArray sortUsingFunction:context:] + 52\n 14 libapplist.dylib 0x03b5e06b 0x0 + 62251115\n 15 libapplist.dylib 0x03b5ddbf 0x0 + 62250431\n 16 AppList 0x03b4aa48 0x0 + 62171720\n 17 AppList 0x03b4b990 0x0 + 62175632\n 18 Preferences 0x35480a41 -[PSListController controllerForRowAtIndexPath:] + 736\n 19 Preferences 0x0000e92d 0x0 + 59693\n 20 UIKit 0x3420b6a9 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 260\n 21 UIKit 0x342cb613 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 130\n 22 Foundation 0x31181dfd __NSFireDelayedPerform + 368\n 23 CoreFoundation 0x358310a3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 14\n 24 CoreFoundation 0x35830b5b __CFRunLoopDoTimer + 850\n 25 CoreFoundation 0x358021b5 __CFRunLoopRun + 1088\n 26 CoreFoundation 0x35801c87 CFRunLoopRunSpecific + 230\n 27 CoreFoundation 0x35801b8f CFRunLoopRunInMode + 58\n 28 GraphicsServices 0x320c84ab GSEventRunModal + 114\n29 GraphicsServices 0x320c8557 GSEventRun + 62\n 30 UIKit 0x341dc329 -[UIApplication _run] + 412\n 31 UIKit 0x341d9e93 UIApplicationMain + 670\n 32 Preferences 0x00002f19 0x0 + 12057\n 33 Preferences 0x00002edc 0x0 + 11996\n) Feb 3 10:02:10 iPad UIKitApplication:com.apple.Preferences[0x2fd7][1008]: terminate called after throwing an instance of 'NSException'
Here is crashlog.
https://dl.dropbox.com/u/149268/SpringBoard_2013-02-03-102420_iPad.plist
Rocketbootstrap now compatible with iOS11, so please update AppList too. There are too many things rely on it.
As +[SBIconModel sharedInstance] no longer exists, this is incompatible with iOS 6
As shown in the title, I want to modify the default value of ALSwitchCell. But, It's failed. I hope you can tell me how to code this part. Thanks !
Using the exact same code in my tweak, libapplist.dylib crashes using v1.5.12 but does not crash using v1.5.11.
*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArray0 objectAtIndex:]: index 0 beyond bounds for empty NSArray'
ALApplicationTableDataSource *_dataSource = [[ALApplicationTableDataSource alloc] init];
NSString *enabledList = @"";
_dataSource.sectionDescriptors = [NSArray arrayWithObjects:
[NSDictionary dictionaryWithObjectsAndKeys:
@"Enabled Applications", ALSectionDescriptorTitleKey,
@"ALCheckCell", ALSectionDescriptorCellClassNameKey,
iconSize, ALSectionDescriptorIconSizeKey,
@YES, ALSectionDescriptorSuppressHiddenAppsKey,
[NSString stringWithFormat:@"bundleIdentifier in {%@}", enabledList],
ALSectionDescriptorPredicateKey
, nil],
[NSDictionary dictionaryWithObjectsAndKeys:
@"Available Applications", ALSectionDescriptorTitleKey,
@"ALCheckCell", ALSectionDescriptorCellClassNameKey,
iconSize, ALSectionDescriptorIconSizeKey,
@YES, ALSectionDescriptorSuppressHiddenAppsKey,
[NSString stringWithFormat:@"not bundleIdentifier in {%@}", enabledList],
ALSectionDescriptorPredicateKey
, nil]
, nil];
It crashes in updateIndexPath from ALApplicationTableDataSource.m because updateIndexPath is called when _displayIdentifiers is empty. In my code above, when enabledList is an empty string, the first section of _dataSource.sectionDescriptors is an empty array.
In v1.5.11, the equivalent method, updateCell, does not ever get called when _displayIdentifiers is empty.
One simple way to fix it seems to be to change the if statement in updateIndexPath:
if (_displayIdentifiers.count > 0 && [displayIdentifier isEqual:[_displayIdentifiers objectAtIndex:indexPath.row]] && newIconSize == iconSize) {
Another way to fix it would be to figure out why updateIndexPath in v1.5.12 gets called with an empty _displayIdentifiers array but updateCell in v1.5.11 does not and keep it from happening.
Sorry to post another issue.
I currently use this plugin in a Notification centre plugin, it works well but if I try and open it straight away the SpringBoard locks up for around 2 minutes. When removing the AppList ties the problem disappears.
Can you help?
When i compile i get unable to find g++-4.2, i created a symlink to g++. But now i get this (sorry for the length):
Making all for library libapplist...
Compiling ALApplicationList.m...
In file included from /Users/jack/Documents/AppList/framework/include/UIKit/UIKit2.h:164,
from /Users/jack/Documents/AppList/framework/include/MessageUI/MessageUI-Structs.h:8,
from /Users/jack/Documents/AppList/framework/include/MessageUI/ComposeRecipient.h:9,
from /Users/jack/Documents/AppList/framework/include/ChatKit/CKMailComposeRecipient.h:6,
from /Users/jack/Documents/AppList/framework/include/ChatKit/ChatKit.h:41,
from /Users/jack/Documents/AppList/framework/include/SpringBoard/SpringBoard-Structs.h:13,
from /Users/jack/Documents/AppList/framework/include/SpringBoard/SpringBoard.h:8,
from ALApplicationList.m:5:
/Users/jack/Documents/AppList/framework/include/UIKit/UIViewController2.h:185: error: duplicate declaration of method ‘-presentedViewController’
In file included from /Users/jack/Documents/AppList/framework/include/UIKit/UIKit2.h:385,
from /Users/jack/Documents/AppList/framework/include/MessageUI/MessageUI-Structs.h:8,
from /Users/jack/Documents/AppList/framework/include/MessageUI/ComposeRecipient.h:9,
from /Users/jack/Documents/AppList/framework/include/ChatKit/CKMailComposeRecipient.h:6,
from /Users/jack/Documents/AppList/framework/include/ChatKit/ChatKit.h:41,
from /Users/jack/Documents/AppList/framework/include/SpringBoard/SpringBoard-Structs.h:13,
from /Users/jack/Documents/AppList/framework/include/SpringBoard/SpringBoard.h:8,
from ALApplicationList.m:5:
/Users/jack/Documents/AppList/framework/include/UIKit/UISearchBar2.h:45: error: duplicate declaration of method ‘-backgroundImage’
/Users/jack/Documents/AppList/framework/include/UIKit/UISearchBar2.h:45: error: duplicate declaration of method ‘-setBackgroundImage:’
cc1obj: warnings being treated as errors
ALApplicationList.m: In function ‘-[ALApplicationList copyIconOfSize:forDisplayIdentifier:]’:
ALApplicationList.m:106: warning: implicit declaration of function ‘CGImageSourceCreateWithData’
ALApplicationList.m:106: warning: initialization makes pointer from integer without a cast
ALApplicationList.m:107: warning: implicit declaration of function ‘CGImageSourceCreateImageAtIndex’
ALApplicationList.m:107: warning: assignment makes pointer from integer without a cast
ALApplicationList.m: In function ‘-[ALApplicationListImpl _remoteGetIconForMessage:userInfo:]’:
ALApplicationList.m:206: warning: implicit declaration of function ‘CGImageDestinationCreateWithData’
ALApplicationList.m:206: warning: initialization makes pointer from integer without a cast
ALApplicationList.m:207: warning: implicit declaration of function ‘CGImageDestinationAddImage’
ALApplicationList.m:209: warning: implicit declaration of function ‘CGImageDestinationFinalize’
make[2]: *** [.theos/obj/ALApplicationList.m.o] Error 1
make[1]: *** [internal-library-all_] Error 2
make: *** [libapplist.all.library.variables] Error 2
When I try to update or remove/install Google Drive, Box, or Dropbox while Jailbroken with Yalu with AppList installed I get the message "Unable to download app...the app can't be installed at this time". I tracked the issue down to AppList. I'm currently an using AppList 1.5.13 on iOS 10.2/iPhone 6s.
Since v1.5.6 iconOfSize:forDisplayIdentifier
method return nil if iconOfSize argument is not 29(ALApplicationIconSizeSmall) on iOS 6 and 7 in my test.
If use ALApplicationIconSizeLarge, output below log then return nil.
CGImageCreate: invalid image size: 0 x 0.
If downgrade to v1.5.5 on iPhone 5 + iOS 6.1.2, ALApplicationIconSizeLarge can be used.
Can someone explain how to incorporate this library? I've never made a jailbreak app, so I don't know how to add it to my app.
Are there any plans to make this compatible with Dopamine/iOS 16?
I have not encountered the issue myself, but rather another user did: https://hasteb.in/cipaleme.sql
UIAlertView crashes now apparently on newer iOS versions. It's advised to change it to UIAlertController!
Setup app appears with the standardSectionDescriptors. It is hiding the others.
Compiling ALApplicationPreferenceViewController.m (armv7)...
ALApplicationPreferenceViewController.m:6:9: fatal error: 'prefs.h' file not found
^
1 error generated.
+[NSPropertyListSerialization propertyListFromData:mutabilityOption:format:errorDescription:]
method have been deprecated in iOS 8.
Use propertyListWithData:options:format:error:
instead.
https://github.com/rpetrich/AppList/blob/master/ALApplicationList.m#L382
https://github.com/rpetrich/AppList/blob/master/ALApplicationList.m#L403
I have Xcode5.0 as Xcode.app and Xcode4.6 as Xcode_Legacy.app.
Frist make error:
a lot of similar error reporting ......
Then I remove the armv6 option for libapplist and make again, new error appears:
And i discover that the SBApplication.h in your frame work requires DEPLOYMENT_TARGET=3.0, because:
-(NSString_)pathForIcon;
-(NSString_)pathForSmallIcon;
-(id)spotlightIcons;
-(void)flushSnapshotsForAllRoles;
-(BOOL)isPrerenderedIcon;
-(void)_sendCurrentDeviceOrientation;
So, i was confused what should i do to build this project?
How hard would it be to add the 'highlighted' image of an app used in the SBIcon class to AppList. As this isn't an issue, feel free to close immediately
Web clips will be put into system application list.
From the git log, I can see comments for official releases of 1.5.8 and 1.5.8. These haven't been tagged in git and the corresponding releases haven't been created on GitHub. This was done prior to that point. Is this just an oversight or has your release process changed?
Obviously not a big issue for anyone, since we can just check out the code at the appropriate git revision and get the header files corresponding to those releases.
Would be a useful function
As titled.
Not a git repository (or any of the parent directories): .git
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.