opa334 / altlist Goto Github PK
View Code? Open in Web Editor NEWA modern AppList alternative
License: MIT License
A modern AppList alternative
License: MIT License
Hey opa, i am in the process of migrating over from applist to AltList.
I have cloned the AltList repository and ran ./install_to_theos.sh
. i am getting these errors:
==> Compiling LSApplicationProxy+AltList.m (arm64)…
LSApplicationProxy+AltList.m:66:26: error: property 'bundleURL' not found on object of type 'LSApplicationProxy *'
NSURL* bundleURL = self.bundleURL;
^
LSApplicationProxy+AltList.m:91:26: error: property 'bundleURL' not found on object of type 'LSApplicationProxy *'
NSURL* bundleURL = self.bundleURL;
^
LSApplicationProxy+AltList.m:143:16: error: no visible @interface for 'LSApplicationProxy' declares the selector 'bundleIdentifier'
return [self bundleIdentifier];
~~~~ ^~~~~~~~~~~~~~~~
LSApplicationProxy+AltList.m:160:16: error: no visible @interface for 'LSApplicationWorkspace' declares the selector 'allInstalledApplications'
return [self allInstalledApplications];
~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~
4 errors generated.
I have looked around the other issues on the repository and found that you asked people to use this iOS 13 SDK https://github.com/xybp888/iOS-SDKs/tree/master/iPhoneOS13.0.sdk. i have replaced my iOS 13 SDK with it and im still getting the same errors.
Hope that you can help me out. i really appriciate your work. <3
The full output:
gilshahar7@Gil-PC:/mnt/e/Tweaks/AltList$ ./install_to_theos.sh
fcntl(): Operation not supported
==> Cleaning…
> Making clean in AltListTestPreferences…
fcntl(): Operation not supported
==> Cleaning…
> Making clean in AltListTestBundlelessPreferences…
fcntl(): Operation not supported
==> Cleaning…
> Making all for framework AltList…
fcntl(): Operation not supported
==> Copying resource directories into the framework wrapper…
==> Copying public headers into the framework wrapper…
fcntl(): Operation not supported
==> Preprocessing AltList.x…
fcntl(): Operation not supported
==> Preprocessing AltList.x…
fcntl(): Operation not supported
==> Compiling ATLApplicationListControllerBase.m (arm64)…
fcntl(): Operation not supported
==> Compiling ATLApplicationListControllerBase.m (armv7)…
fcntl(): Operation not supported
==> Compiling LSApplicationProxy+AltList.m (armv7)…
LSApplicationProxy+AltList.m:66:26: error: property 'bundleURL' not found on object of type 'LSApplicationProxy *'
NSURL* bundleURL = self.bundleURL;
^
LSApplicationProxy+AltList.m:91:26: error: property 'bundleURL' not found on object of type 'LSApplicationProxy *'
NSURL* bundleURL = self.bundleURL;
^
LSApplicationProxy+AltList.m:143:16: error: no visible @interface for 'LSApplicationProxy' declares the selector 'bundleIdentifier'
return [self bundleIdentifier];
~~~~ ^~~~~~~~~~~~~~~~
LSApplicationProxy+AltList.m:160:16: error: no visible @interface for 'LSApplicationWorkspace' declares the selector 'allInstalledApplications'
return [self allInstalledApplications];
~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~
4 errors generated.
/home/gilshahar7/theos/makefiles/instance/rules.mk:192: recipe for target '/mnt/e/Tweaks/AltList/.theos/obj/armv7/LSApplicationProxy+AltList.m.c68d4022.o' failed
make[3]: *** [/mnt/e/Tweaks/AltList/.theos/obj/armv7/LSApplicationProxy+AltList.m.c68d4022.o] Error 1
make[3]: *** Waiting for unfinished jobs....
fcntl(): Operation not supported
==> Compiling LSApplicationProxy+AltList.m (arm64)…
LSApplicationProxy+AltList.m:66:26: error: property 'bundleURL' not found on object of type 'LSApplicationProxy *'
NSURL* bundleURL = self.bundleURL;
^
LSApplicationProxy+AltList.m:91:26: error: property 'bundleURL' not found on object of type 'LSApplicationProxy *'
NSURL* bundleURL = self.bundleURL;
^
LSApplicationProxy+AltList.m:143:16: error: no visible @interface for 'LSApplicationProxy' declares the selector 'bundleIdentifier'
return [self bundleIdentifier];
~~~~ ^~~~~~~~~~~~~~~~
LSApplicationProxy+AltList.m:160:16: error: no visible @interface for 'LSApplicationWorkspace' declares the selector 'allInstalledApplications'
return [self allInstalledApplications];
~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~
4 errors generated.
/home/gilshahar7/theos/makefiles/instance/rules.mk:192: recipe for target '/mnt/e/Tweaks/AltList/.theos/obj/arm64/LSApplicationProxy+AltList.m.9be9e4d9.o' failed
make[3]: *** [/mnt/e/Tweaks/AltList/.theos/obj/arm64/LSApplicationProxy+AltList.m.9be9e4d9.o] Error 1
make[3]: *** Waiting for unfinished jobs....
fcntl(): Operation not supported
==> Compiling ATLApplicationListMultiSelectionController.m (arm64)…
fcntl(): Operation not supported
==> Compiling ATLApplicationListMultiSelectionController.m (armv7)…
rm /mnt/e/Tweaks/AltList/.theos/obj/armv7/AltList.x.m
/home/gilshahar7/theos/makefiles/instance/framework.mk:35: recipe for target '/mnt/e/Tweaks/AltList/.theos/obj/armv7/AltList.framework/AltList' failed
make[2]: *** [/mnt/e/Tweaks/AltList/.theos/obj/armv7/AltList.framework/AltList] Error 2
make[2]: *** Waiting for unfinished jobs....
fcntl(): Operation not supported
==> Compiling ATLApplicationSubtitleSwitchCell.m (arm64)…
rm /mnt/e/Tweaks/AltList/.theos/obj/arm64/AltList.x.m
/home/gilshahar7/theos/makefiles/instance/framework.mk:35: recipe for target '/mnt/e/Tweaks/AltList/.theos/obj/arm64/AltList.framework/AltList' failed
make[2]: *** [/mnt/e/Tweaks/AltList/.theos/obj/arm64/AltList.framework/AltList] Error 2
/home/gilshahar7/theos/makefiles/instance/framework.mk:27: recipe for target 'internal-framework-all_' failed
make[1]: *** [internal-framework-all_] Error 2
/home/gilshahar7/theos/makefiles/master/rules.mk:118: recipe for target 'AltList.all.framework.variables' failed
make: *** [AltList.all.framework.variables] Error 2
iOS Settings crashes when I tried to open any preference which have com.opa334.altlist dependencies, such as: Crane, Bakgrunnur, bfdecrypt.
Crash log:
https://pastebin.com/aaRegR5L
💥 AltList versions that crash:
1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5-2
✅ Worked fine with AltList 1.0-1
Device: iPhone 12 Pro Max
iOS: 14.3
Jailbreak: Taurine 1.0.4
"Applications" = "التطبيقات";
"System Applications" = "تطبيقات النظام";
"User Applications" = "تطبيقات المستخدم";
"Hidden Applications" = "التطبيقات المخفية
In some cases(eg. Chinese name), searching bundleId is faster than names. It would be handy if there is a key in preference plist to enable the ability to search names and Ids simultaneously.
"Applications" = "Uygulamalar";
"System Applications" = "Sistem Uygulamaları";
"User Applications" = "Kullanıcı Uygulamaları";
"Hidden Applications" = "Gizlenmiş Uygulamalar";
This is the output I get when I run ./install_to_theos.sh
`==> Cleaning…
Making clean in AltListTestBundle…
==> Cleaning…
Making all for framework AltList…
==> Copying resource directories into the framework wrapper…
==> Copying public headers into the framework wrapper…
==> Preprocessing AltList.x…
==> Preprocessing AltList.x…
==> Compiling ATLApplicationListControllerBase.m (armv7)…
ATLApplicationListControllerBase.m:14:6: error: comparison of function 'dispatch_queue_attr_make_with_qos_class' not equal to a null pointer is always true [-Werror,-Wtautological-pointer-compare]
if (dispatch_queue_attr_make_with_qos_class != NULL)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~
ATLApplicationListControllerBase.m:14:6: note: prefix with the address-of operator to silence this warning
if (dispatch_queue_attr_make_with_qos_class != NULL)
^
&
1 error generated.
make[3]: *** [/home/atrt7/theos/makefiles/instance/rules.mk:193: /home/atrt7/AltList/.theos/obj/armv7/ATLApplicationListControllerBase.m.9349dfb3.o] Error 1
make[3]: *** Waiting for unfinished jobs....
==> Compiling ATLApplicationListControllerBase.m (arm64)…
ATLApplicationListControllerBase.m:14:6: error: comparison of function 'dispatch_queue_attr_make_with_qos_class' not equal to a null pointer is always true [-Werror,-Wtautological-pointer-compare]
if (dispatch_queue_attr_make_with_qos_class != NULL)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~
ATLApplicationListControllerBase.m:14:6: note: prefix with the address-of operator to silence this warning
if (dispatch_queue_attr_make_with_qos_class != NULL)
^
&
1 error generated.
make[3]: *** [/home/atrt7/theos/makefiles/instance/rules.mk:193: /home/atrt7/AltList/.theos/obj/arm64/ATLApplicationListControllerBase.m.2699f159.o] Error 1
make[3]: *** Waiting for unfinished jobs....
==> Compiling ATLApplicationListMultiSelectionController.m (armv7)…
rm /home/atrt7/AltList/.theos/obj/armv7/AltList.x.m
make[2]: *** [/home/atrt7/theos/makefiles/instance/framework.mk:36: /home/atrt7/AltList/.theos/obj/armv7/AltList.framework/AltList] Error 2
make[2]: *** Waiting for unfinished jobs....
==> Compiling ATLApplicationListMultiSelectionController.m (arm64)…
==> Compiling ATLApplicationListSelectionController.m (arm64)…
rm /home/atrt7/AltList/.theos/obj/arm64/AltList.x.m
make[2]: *** [/home/atrt7/theos/makefiles/instance/framework.mk:36: /home/atrt7/AltList/.theos/obj/arm64/AltList.framework/AltList] Error 2
make[1]: *** [/home/atrt7/theos/makefiles/instance/framework.mk:27: internal-framework-all_] Error 2
make: *** [/home/atrt7/theos/makefiles/master/rules.mk:117: AltList.all.framework.variables] Error 2`
Run install_to_theos.sh
Create empty Tweak from template ($THEOS_BIN_PATH/nic.pl -> iphone/tweak )
Add this line into Makefile
<YOUR_PROJECT>_EXTRA_FRAMEWORKS = AltList
Add this line into empty Tweak.x
#import <AltList/AltList.h>
run make
Expected: compelled tweak
Actual result:
==> Notice: Build may be slow as Theos isn’t using all available CPU cores on this computer. Consider upgrading GNU Make: https://theos.dev/docs/parallel-building
> Making all for tweak AltListTest…
==> Preprocessing Tweak.x…
==> Compiling Tweak.x (arm64)…
Tweak.x:1:9: fatal error: 'AltList/AltList.h' file not found
#import <AltList/AltList.h>
^~~~~~~~~~~~~~~~~~~
Tweak.x:1:9: note: did not find header 'AltList.h' in framework 'AltList' (loaded from '/Users/user1/theos/lib')
1 error generated.
make[3]: *** [/Users/user1/xx/AltList/altlisttest/.theos/obj/debug/arm64/Tweak.x.ea6488a2.o] Error 1
rm /Users/user1/xx/AltList/altlisttest/.theos/obj/debug/arm64/Tweak.x.m
make[2]: *** [/Users/user1/xx/AltList/altlisttest/.theos/obj/debug/arm64/AltListTest.dylib] Error 2
make[1]: *** [internal-library-all_] Error 2
make: *** [AltListTest.all.tweak.variables] Error 2
Upd:
I tried the code from AltList.x
#import <AltList/LSApplicationProxy+AltList.h>
%ctor {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[[[LSApplicationWorkspace defaultWorkspace] atl_allInstalledApplications] enumerateObjectsUsingBlock:^(LSApplicationProxy* proxy, NSUInteger idx, BOOL *stop)
{
NSString *name = [proxy atl_fastDisplayName];
NSLog(@"[DEBUG] %lu, %@", (unsigned long)idx, name);
}];
});
}
Result:
==> Notice: Build may be slow as Theos isn’t using all available CPU cores on this computer. Consider upgrading GNU Make: https://theos.dev/docs/parallel-building
> Making all for tweak AltListTest…
==> Preprocessing Tweak.x…
==> Compiling Tweak.x (arm64)…
==> Linking tweak AltListTest (arm64)…
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_LSApplicationWorkspace", referenced from:
objc-class-ref in Tweak.x.ea6488a2.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [/Users/user1/xx/AltList/altlisttest/.theos/obj/debug/arm64/AltListTest.dylib] Error 1
make[2]: *** [/Users/user1/xx/AltList/altlisttest/.theos/obj/debug/arm64/AltListTest.dylib] Error 2
make[1]: *** [internal-library-all_] Error 2
make: *** [AltListTest.all.tweak.variables] Error 2
UPD2:
I added MobileCoreServices framework:
AltListTest_FRAMEWORKS = MobileCoreServices
Now it compiles and installs, but tweak not being loaded (I loads well without AltList)
I fixed the compilation issues by doing #import <Foundation/Foundation.h> in some files. now I get a linker error
Undefined symbols for architecture armv7:
"___isOSVersionAtLeast", referenced from:
-[ATLApplicationListControllerBase _setUpSearchBar] in ATLApplicationListControllerBase.m.ee6620ba.o
-[ATLApplicationSubtitleCell initWithStyle:reuseIdentifier:specifier:] in ATLApplicationSubtitleCell.m.ee6620ba.o
ld: symbol(s) not found for architecture armv7
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [/home/atrt7/theos/makefiles/instance/framework.mk:36: /home/atrt7/AltList/.theos/obj/armv7/AltList.framework/AltList] Error 1
rm /home/atrt7/AltList/.theos/obj/armv7/AltList.x.m
make[2]: *** [/home/atrt7/theos/makefiles/instance/framework.mk:36: /home/atrt7/AltList/.theos/obj/armv7/AltList.framework/AltList] Error 2
make[2]: *** Waiting for unfinished jobs....
==> Linking framework AltList (arm64)…
==> Generating debug symbols for AltList…
==> Stripping AltList (arm64)…
rm /home/atrt7/AltList/.theos/obj/arm64/AltList.x.m
make[1]: *** [/home/atrt7/theos/makefiles/instance/framework.mk:27: internal-framework-all_] Error 2
make: *** [/home/atrt7/theos/makefiles/master/rules.mk:117: AltList.all.framework.variables] Error 2```
Seen from the example AltList project, there’s still the need to build s bundle that does nothing more than loading the Root plist. Just like AppList, it would be handy if we can plug bundle
and isController
properties and everything in one plist. AltList.bundle
should be created or symlinked to /System/Library/PreferenceBundles
, to start the matter.
Hello. I believe there is something in AltList which bootloops devices on Dopamine jailbreak. I released an update of my tweak which more or less only replaced AppList with AltList and this happened for some people. Not all though.
Example of bootloop'd devices:
I tried to remove AltList and replace it with eg. "LSApplicationWorkspace allApplications" and that worked.
I went a bit further and prepared a build which has only this code:
#import <AltList/LSApplicationProxy+AltList.h>
%ctor {
NSArray<LSApplicationProxy*>* a = [[LSApplicationWorkspace defaultWorkspace] atl_allInstalledApplications];
}
This also bootloops the device. I mean it doesn't invoke safe mode like a normal crash.
I installed AltList as the README.md says (except I can't do the "include <AltList/AltList.h>" like another issue mentions).
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.