OStack程序员社区-中国程序员成长平台

标题: ios - 在应用关闭时关闭模态应用商店 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 20:36
标题: ios - 在应用关闭时关闭模态应用商店

我正在我的应用中显示模态应用商店,一切都按预期工作。但是,我希望能够在用户关闭应用程序时关闭模式。这可能吗?

这就是我目前的设置方式:

if (param != nil && NSClassFromString(@"SKStoreProductViewController"))
{
    NSDictionary *appParameters = @{ SKStoreProductParameterITunesItemIdentifier: param };

    SKStoreProductViewController *productViewController = [[SKStoreProductViewController alloc] init];
    [productViewController setDelegate:self];
    [productViewController loadProductWithParameters:appParameters
                                             completionBlock:^(BOOL result, NSError *error)
    {

    }];
    [self presentViewController:productViewController
                       animated:YES
                       completion:^{

                             }];         
}

这通过允许用户通过单击关闭按钮来关闭模式来完成设置。

- (void)productViewControllerDidFinishSKStoreProductViewController *)viewController
{
    [viewController dismissViewControllerAnimated:YES completion:nil];
}

我在想我可以改变它,所以 SKStoreProductViewController *productViewController 是一个成员变量,当应用程序停用时调用一个函数来关闭它,但是这不会在 iOS 6 下编译任何东西,对吗?



Best Answer-推荐答案


只需在 View Controller 中保留对该 View Controller 的引用即可:

@property (nonatomic, strong) UIViewController * skStoreProductViewController;

然后创建产品 View Controller :

// Probably in -viewDidLoad ?
if (param != nil && NSClassFromString(@"SKStoreProductViewController"))
{
    self.skStoreProuctViewController = [[SKStoreProductViewController alloc] init];

    // etc...
}

现在,当用户将您的应用置于后台时,您可以在 View Controller 中监听该事件的通知。设置一个选择器来运行并使用它来关闭你的 View Controller :

// Probably in -viewDidLoad
[[NSNotificationCenter defaultCenter] addObserver:self selectorselector(shouldDismiss name:UIApplicationDidEnterBackgroundNotification object:nil];

那么……

- (void)shouldDismissNSNotification*)notification {

    [self.skStoreProductViewController dismissViewControllerAnimated:YES completion:nil]  
}

关于ios - 在应用关闭时关闭模态应用商店,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22485864/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4