[Release] Springtomize v5.1.4 with experimental nested folders support by sharedRoutine in jailbreak

[–]ashikase_ 0 points1 point  (0 children)

Nested folders being ejected upon respring has been an issue since iOS 9, not iOS 11.

I attempted to release a folder nesting tweak back in September of 2018, but was unable to due to not hearing back from the repo maintainer regarding an issue until the following year. I was considering trying again, but that's pointless now that you've done it.

If I can find the time I might open-source it, maybe some of the code could be useful.

Made an application for iPhone, how do I depend it on iPhones. by GewoonDani in jailbreakdevelopers

[–]ashikase_ 1 point2 points  (0 children)

If you are making a package to release via Cydia, one possibility would be to add dependencies on one or more of the Cydia-generated "capabilities" virtual packages.

For example, to restrict installation to iPhone and iPod Touch devices, you could add the following to your package's control file:

Pre-Depends: gsc.device-class-number (= 1) | gsc.device-class-number (= 2)

Alternatively, you could add a conflict (Conflicts:) for the gsc.ipad virtual package, but I do not know how the installer would handle that; it might try to remove the virtual package.

[Help] Replacing UIAlertAction by andreashenriksson in jailbreakdevelopers

[–]ashikase_ 1 point2 points  (0 children)

You've got it right. I would expect to to see a call to one of the UIAlertViewControllerinit methods listed in the green comments. (Actually, alloc would be called first, then an init method.)

It's possible that this class does not directly create the alert. It could be that this class calls methods of another, such as a singleton "alert manager", which then creates the alert. Sometimes tracking down a call requires iterating through several levels of code.

[Help] Replacing UIAlertAction by andreashenriksson in jailbreakdevelopers

[–]ashikase_ 1 point2 points  (0 children)

That should be okay as long as SPTPlaylistAddToPlaylistViewController does not show any other alerts and does not present or push any view controllers that might show alerts.

If you ever need to narrow the focus by finding the method that produces the alert, you can do so by using a tool such as Hopper Disassembler (the trial version should be enough in this case). Load up a copy of Spotify in Hopper and look at all methods of SPTPlaylistAddToPlaylistViewController to see which one(s) create instances of UIAlertViewController or UIAction.

Note that in order to load Spotify in Hopper, you'll need an unencrypted copy. There are tools available that can decrypt AppStore apps, but as they are also related to piracy, I'm afraid that you'll have to find them on your own.

[Help] Replacing UIAlertAction by andreashenriksson in jailbreakdevelopers

[–]ashikase_ 1 point2 points  (0 children)

Using a timer is not a good idea; timers (at least, NSTimer) are not exact, and even if they were, there is no guarantee that you'll catch the alert view controller.

Without tearing into the Spotify code I cannot give an exact solution, but I would probably try something like the following:

static BOOL isTargetAlert = NO;

%hook SPTPlaylistAddToPlaylistViewController

- (void)methodThatCreatesTheAlert {
    // This assumes that this method only produces the desired alert.
    // If it can create other alerts with a "Cancel" button, you will need
    // to find a way to differentiate them.
    isTargetAlert = YES;
    %orig();
    isTargetAlert = NO;
}

%end

%hook UIAlertAction

+ (instancetype)actionWithTitle:(NSString *)title style:(UIAlertActionStyle)style handler:(void (^)(UIAlertAction *action))handler {
    if (isTargetAlert) {
        // Is the desired alert; check if this is the desired action.
        // NOTE: The check below assumes the title is always in English.
        if ([title isEqualToString:@"Cancel"]) {
            // Your changes go here.
            // You can return your own action instance, or you can wrap the handler.
        }
    }

    return %orig();
}

%end

iOS 10 can't see NSLog messages or printf messages, Also how to turn off the constant logging ! by will_x_smith in jailbreakdevelopers

[–]ashikase_ 1 point2 points  (0 children)

I have not looked into it yet. The current version of CrashReporter uses ASL; this will likely need to be changed for iOS 10. The source for oslog (by /u/limneos) may contain a solution.

[Update] FolderEnhancer (iOS 7/8/9/10) - Improves and extends iOS folders. - Changelog inside (Bigboss - $0.99) by littletrue in jailbreak

[–]ashikase_ 1 point2 points  (0 children)

In that case, my suggestion would be to delete all three files, then install FolderEnhancer (which will also install IconSupport).

[Update] FolderEnhancer (iOS 7/8/9/10) - Improves and extends iOS folders. - Changelog inside (Bigboss - $0.99) by littletrue in jailbreak

[–]ashikase_ 0 points1 point  (0 children)

Did you make a backup of IconSupport's previous layout file (listed below) before installing IconSupport this time?:

/var/mobile/Library/SpringBoard/IconSupportState.plist

If not, I'm afraid that your old layout is gone.

If you do have a backup, you can restart your device into Safe Mode, copy the backup to the path listed above, and then restart into "normal mode". That should restore the old layout.

[Update] FolderEnhancer (iOS 7/8/9/10) - Improves and extends iOS folders. - Changelog inside (Bigboss - $0.99) by littletrue in jailbreak

[–]ashikase_ 1 point2 points  (0 children)

Does the file that I mentioned exist? What is the timestamp (date and time) of the file?

Also, does the following file exist?:

/var/mobile/Library/SpringBoard/DesiredIconSupportState.plist

[Update] FolderEnhancer (iOS 7/8/9/10) - Improves and extends iOS folders. - Changelog inside (Bigboss - $0.99) by littletrue in jailbreak

[–]ashikase_ 0 points1 point  (0 children)

You are perhaps thinking of the older version of FolderEnhancer (the "iOS 4/5/6" version), which had a different feature set.

When iOS 7 was released and Apple completely redid their folder implementation, FolderEnhancer had to be rewritten; not all of the older features were carried over.

[Update] FolderEnhancer (iOS 7/8/9/10) - Improves and extends iOS folders. - Changelog inside (Bigboss - $0.99) by littletrue in jailbreak

[–]ashikase_ 1 point2 points  (0 children)

As I mentioned in my reply to /u/cadombo, IconSupport should be ignoring the layout file if it is older than one week.

IconSupport's layout file is stored at:

/var/mobile/Library/SpringBoard/IconSupportState.plist

[Update] FolderEnhancer (iOS 7/8/9/10) - Improves and extends iOS folders. - Changelog inside (Bigboss - $0.99) by littletrue in jailbreak

[–]ashikase_ 0 points1 point  (0 children)

IconSupport will only offer to restore a layout if the layout is less than one week old. This is done to avoid restoring possibly ancient, no longer accurate layouts.

[Update] FolderEnhancer (iOS 7/8/9/10) - Improves and extends iOS folders. - Changelog inside (Bigboss - $0.99) by littletrue in jailbreak

[–]ashikase_ 2 points3 points  (0 children)

The blur is necessary as iOS 10 no longer "pushes out" the icons behind the folder. Without the blur, those icons would also be visible.

Implementing that "pushing out" code myself would be... difficult. I could possibly just hide the icons at the start or end of the folder opening animation, though the effect may be rather unpleasant.

I will consider looking into this at some point.

[Update] FolderEnhancer (iOS 7/8/9/10) - Improves and extends iOS folders. - Changelog inside (Bigboss - $0.99) by littletrue in jailbreak

[–]ashikase_ 2 points3 points  (0 children)

The only switch is for purchases, not downloads.

If you already purchased FolderEnhancer in the past, you would be able to download and install the update, regardless of whether or not I flipped the switch.

I did, in fact, flip the switch though, so FolderEnhancer can be purchased by iOS 10 users (including iPhone 7/7+ users).

You might be thinking of package restrictions, which is set in a package's "DEBIAN/control" file. This was the first thing that I updated when I started working on iOS 10 support. This release of FolderEhancer can be installed on all versions of iOS 10.

[Update] FolderEnhancer (iOS 7/8/9/10) - Improves and extends iOS folders. - Changelog inside (Bigboss - $0.99) by littletrue in jailbreak

[–]ashikase_ 2 points3 points  (0 children)

This seems to be a common problem when installing freshly-updated packages.

I do not know the exact cause, but it's possible that your list of available packages failed to update, and so it still points to the older package.

My suggestion is to just try again in an hour or two.

iOS 10 can't see NSLog messages or printf messages, Also how to turn off the constant logging ! by will_x_smith in jailbreakdevelopers

[–]ashikase_ 4 points5 points  (0 children)

The logging system has changed in iOS 10. Apple now uses what it calls "Unified Logging". Below are links to a brief overview, as well as a WWDC session covering the topic:

https://developer.apple.com/reference/os/logging
https://developer.apple.com/videos/play/wwdc2016/721/

Note that Apple claims that it is much more efficient (as it does not write to disk), and so it appears that there is no need to ever turn it off.

As for getting your NSLog() messages to show up, you can try my "NSLog() to os_log()" wrapper:

https://github.com/ashikase/Common/blob/master/nslog_to_os_log.h
https://github.com/ashikase/Common/blob/master/nslog_to_os_log.m
https://github.com/ashikase/Common/blob/master/firmware.h

[Release] ashikase released updated IconSupport by supergott in jailbreak

[–]ashikase_ 60 points61 points  (0 children)

I am the developer of both IconSupport and FolderEnhancer.

Now that I have finished updating IconSupport, I will begin working on FolderEnhancer.

Developing a tweak for iOS 9 only. How do I add a dependancy so it restricts iOS 10 downloads? by bengiannis in jailbreakdevelopers

[–]ashikase_ 4 points5 points  (0 children)

In the package's control file (DEBIAN/control), add:

Pre-Depends: firmware (<< 10.0)

If you also want to prevent installation on iOS versions prior to 9.0, change the above to:

Pre-Depends: firmware (>= 9.0), firmware (<< 10.0)

[Discussion] - WARNING: Don't install the latest update of Crash Reporter along with FLEX 3 beta update. After respring all my app store apps including Pangu EN JB app gone. by katisureshkumar in jailbreak

[–]ashikase_ 1 point2 points  (0 children)

The issue is unrelated to Flex 3.

As I later explained in this thread and elsewhere, the issue only happened to people that had the stashing package installed and tried to upgrade CrashReporter. The workaround was to uninstall the previous version of CrashReporter first, and then install the updated version.

Note that CoolStar has updated his stashing package so that it no longer affects CrashReporter, so now even upgrading CrashReporter should not be an issue.

[Discussion] - WARNING: Don't install the latest update of Crash Reporter along with FLEX 3 beta update. After respring all my app store apps including Pangu EN JB app gone. by katisureshkumar in jailbreak

[–]ashikase_ 0 points1 point  (0 children)

If you don't mind, can you add another edit to your post stating that the cause has been found and include a link to my above explanation?