我正在使用theos开发一个锁屏应用程序,部分功能需要手机上某些应用程序的图标图像。我怎样才能获取这些图标图像并将其显示在手机的锁屏上?
到目前为止,我已经尝试了所有我能想到的方法,并且搜索了跳板标题,但没有成功。我专门尝试从通过谷歌找到的建议中检索 SBApplication 和 SBIconModel 中的图像,但仍然没有运气。
非常感谢任何帮助。谢谢!
%hook 一个类后,在您正在使用的方法中,执行以下操作,例如,如果您尝试获取邮件应用程序的图标
// Get the SBApplication for the mail app
Class $SBApplicationController = objc_getClass("SBApplicationController");
SBApplication *mailApp = [[$SBApplicationController sharedInstance] applicationWithDisplayIdentifier:@"com.apple.mobilemail"];
// Get the SBApplicationIcon for the mail app
SBApplicationIcon *mailAppIcon = [[objc_getClass("SBApplicationIcon") alloc] initWithApplication:mailApp];
重要的是获取您感兴趣的应用程序的正确 DisplayIdentifier。
希望这有帮助!有问题请留言。
尽管我接受上述答案,但我最终使用了以下代码,它显示标题和徽章:
SBIcon *sbIcon = [model applicationIconForDisplayIdentifier:identifier];
SBIconView *app = [[%c(SBIconView) alloc] initWithDefaultSize];
[app setIcon:sbIcon];
//if you want the titles to be conditional
[app setLabelHidden:!titlesEnabled];
//if you want the badge view to be conditional
id badgeView;
if (device_version >= 6.0) badgeView = MSHookIvar<id>(app, "_accessoryView");
else badgeView = MSHookIvar<id>(app, "_badgeView");
if (badgeView) [badgeView setHidden:!badgesEnabled];
2025年这还有可能吗?如果是,如何从越狱的 Ipad 中提取应用程序图标?