OwnGoalStudio / NoRedirect

A simple tweak that restricts application launching or being launched by other applications.
MIT License
50 stars 3 forks source link

是否可以在「重定向历史记录」中加入应用程序跳转时的参数? #4

Closed rrluo closed 1 month ago

rrluo commented 1 month ago

比如对应的Scheme。

Lessica commented 1 month ago

只有极少数跳转是 open url,除此之外的跳转都无法解析出 “参数”,如 userActivityData。如果开发者需要看这些信息,打开系统日志看一下就行了,这些信息记录下来对大多数用户没有什么意义。

Running <SBAppToAppWorkspaceTransaction: 0x10a5e08d0> for transition request:
<SBMainWorkspaceTransitionRequest: 0x283b9cd80; eventLabel: OpenApplication(sceneID:com.meituan.imeituan-default)ForRequester(osee2unifiedRel.8531); display: Main; source: FBSystemService> {
    displayConfiguration = <FBSDisplayConfiguration: 0x283040000; Main; mode: "375x812@3x 60Hz p3 SDR"> {
        CADisplay.name = LCD;
        CADisplay.deviceName = primary;
        CADisplay.seed = 3;
        tags = 0;
        currentMode = <FBSDisplayMode: 0x282a54be0; 375x812@3x (1125x2436/3) 60Hz p3 SDR>;
        overscanCompensation = n/a;
        safeOverscanRatio = {0.89999997615814209, 0.89999997615814209};
        pixelSize = {1080, 2340};
        bounds = {{0, 0}, {375, 812}};
        renderingCenter = {562.5, 1218};
        CADisplay = <CADisplay:LCD primary>;
    };
    applicationContext = <SBWorkspaceApplicationSceneTransitionContext: 0x28361b840; animationDisabled: NO; background: NO; waitForScenes: YES; display: Main; layoutState: <SBMainDisplayLayoutState: 0x2821592d0; elements: 1> {
    elements = {
        <SBLayoutElement: 0x28131c4c0; uniqueIdentifier: sceneID:com.meituan.imeituan-default; layoutRole: primary> {
            supportedLayoutRoles = primary;
            layoutAttributes = none;
            viewControllerClass = SBMainWorkspaceApplicationSceneLayoutElementViewController;
        };
    }
    interfaceOrientation = UIInterfaceOrientationPortrait;
    elementInterfaceOrientation = UIInterfaceOrientationPortrait;
    spaceConfiguration = full;
    floatingConfiguration = undefined;
    centerConfiguration = undefined;
    peekConfiguration = undefined;
    unlockedEnvironmentMode = application;
    bundleIDShowingAppExpose = 0x0;
    floatingSwitcherVisible = BSSettingFlagNo;
    windowPickerRole = undefined;
}; previousLayoutState: <SBMainDisplayLayoutState: 0x2822fc150; elements: 1> {
    elements = {
        <SBLayoutElement: 0x2812f1e40; uniqueIdentifier: sceneID:com.zhihu.ios-default; layoutRole: primary> {
            supportedLayoutRoles = primary;
            layoutAttributes = none;
            viewControllerClass = SBMainWorkspaceApplicationSceneLayoutElementViewController;
        };
    }
    interfaceOrientation = UIInterfaceOrientationPortrait;
    elementInterfaceOrientation = UIInterfaceOrientationPortrait;
    spaceConfiguration = full;
    floatingConfiguration = undefined;
    centerConfiguration = undefined;
    peekConfiguration = undefined;
    unlockedEnvironmentMode = application;
    bundleIDShowingAppExpose = 0x0;
    floatingSwitcherVisible = BSSettingFlagNo;
    windowPickerRole = undefined;
}; delegate: <SBMainWorkspaceTransitionRequest: 0x283b9cd80>> {
        entities = {
            SBLayoutRolePrimary = <SBDeviceApplicationSceneEntity: 0x28299ce10; ID: sceneID:com.meituan.imeituan-default; layoutRole: primary> {
                supportedRoles = primary;
                layoutAttributes = none;
                activation = <SBActivationSettings: 0x280b225f0> {
                    <BSMutableSettings: 0x2809fb640> {
                        noAnimate = BSSettingFlagNo;
                        suspended = BSSettingFlagNo;
                        sourceIdentifier = com.zhihu.ios;
                        launchOptions = {
};
                        userLaunchEventTime = 750404321.117169;
                        continuousUserLaunchEventTime = 5431668626006;
                        classicOverride = 0;
                        fromContinuity = BSSettingFlagYes;
                        fromAssistant = BSSettingFlagNo;
                        fromSystemServiceRequest = BSSettingFlagYes;
                        fromTrustedSystemServiceRequest = BSSettingFlagNo;
                    };
                };
            }
{
                actions = {
                    <UIActivityContinuationAction: 0x2808dbc20; info: <BSSettings: 0x2808dafa0> {
                        activityType = NSUserActivityTypeBrowsingWeb;
                        (5) = NSUserActivityTypeBrowsingWeb;
                        (6) = 2024-10-12 05:38:41 +0000;
                        userActivityData = {length = 1864, bytes = 0x62706c69 73743030 d4010203 04050607 ... 00000000 00000658 };
                    }; responder: <_BSActionResponder: 0x282157100; active: YES> clientInvalidated = NO;
clientEncoded = NO;>;
                    <UISystemNavigationAction: 0x2805a1020; info: <BSSettings: 0x2808a0560> {
                        primaryDestinationContext = <UISystemNavigationActionDestinationContext: 0x2805a09c0>;
                    }; responder: <_BSActionResponder: 0x28228a530; active: YES; waiting: YES> clientInvalidated = NO;
clientEncoded = NO;
clientResponded = NO;
reply = 0x0;
annulled = NO;>;
                }
                sceneHandle = <SBDeviceApplicationSceneHandle: 0x107bbbd20; sceneID: sceneID:com.meituan.imeituan-default; scenePointer: 0x283c58a80; scene: <FBScene: 0x283c58a80; sceneID:com.meituan.imeituan-default; legacy: YES; active: YES; FG: NO> {
    specification = UIApplicationSceneSpecification;
    contentState = notReady;
    settings = <UIApplicationSceneSettings: 0x282542680> {
        displayConfiguration = "<FBSDisplayConfiguration: 0x283040000; Main; mode: "375x812@3x 60Hz p3 SDR">";
        frame = {{0, 0}, {375, 812}};
        level = 1.0;
        interfaceOrientation = portrait (1);
        foreground = NO;
        interruptionPolicy = reconnect;
        isOccluded = BSSettingFlagNotSet;
        activityMode = default;
        jetsamMode = default;
        otherSettings = <BSSettings: 0x280f55660> {
            canShowAlerts = YES;
            userInterfaceStyle = light;
            peripheryInsets = UIEdgeInsets: {32, 0, 0, 0};
            deviceOrientation = portrait (1);
            safeAreaInsetsPortrait = UIEdgeInsets: {50, 0, 34, 0};
            statusBarParts = (all);
            statusBarAvoidanceFrame = {{0, 0}, {0, 0}};
            homeAffordanceOverlayAllowance = 21;
            cornerRadiusConfiguration = BSCornerRadiusConfiguration: (topLeft: 0, bottom left: 0, bottom right: 0, top right: 0);
            defaultStatusBarHeightPortrait = 50.00;
            defaultStatusBarHeightPortraitUpsideDown = 50.00;
            defaultStatusBarHeightLandscapeLeft = 0.00;
            defaultStatusBarHeightLandscapeRight = 0.00;
            persistenceIdentifier = 037B7C70-9A41-41D7-A73A-EC9CDB7739A4;
            interfaceOrientationMode = legacy;
            _debugValidationOrientationMaskEnabled = YES;
        };
    };
    clientSettings = <UIApplicationSceneClientSettings: 0x281c9a3c0> {
        layers = (empty);
        preferredLevel = 0.0;
        preferredInterfaceOrientation = unknown (0);
        otherSettings = <BSSettings: 0x2808fb520> {
            statusBarStyle = UIStatusBarStyleDarkContent;
            statusBarHidden = NO;
            defaultStatusBarStyle = UIStatusBarStyleDefault;
            defaultStatusBarHidden = NO;
            defaultPNGExpirationTime = 0;
            compatibilityMode = none;
            deviceOrientationEventsEnabled = NO;
            interfaceOrientation = portrait (1);
            proximityDetectionModes = ( off );
            backgroundStyle = UIBackgroundStyleDefault;
            whitePointAdaptivityStyle = _UIWhitePointAdaptivityStyleStandard;
            reachabilitySupported = YES;
            screenEdgesDeferringSystemGestures = 0;
            homeIndicatorAutoHidden = NO;
            statusBarPartStyles = {
                leadingPartIdentifier = _UIStatusBarStyleInherited;
                trailingPartIdentifier = _UIStatusBarStyleInherited;
                centerPartIdentifier = _UIStatusBarStyleInherited;
            }
            statusBarModernStyle = _UIStatusBarStyleDarkContent;
            statusBarAlpha = 1;
            canvasTitle = (redacted);
            sceneActivationBias = unknown;
            _debugValidationOrientationMask = ( Pu );
        };
    };
    clientProvider = <FBWorkspace: 0x283e68630>;
    clientProcess = [application<com.meituan.imeituan>:7012];
}; breadcrumbProvider: <SBDeviceApplicationSceneStatusBarBreadcrumbProvider: 0x2805ba940; breadcrumbTitle: 知乎; breadcrumbAppBundleID: com.zhihu.ios>>;
            };
        }
        previousEntities = {
            SBLayoutRolePrimary = <SBDeviceApplicationSceneEntity: 0x2829fdf40; ID: sceneID:com.zhihu.ios-default; layoutRole: primary> {
                supportedRoles = primary;
                layoutAttributes = none;
            };
        }
    };
}