0

我的应用有一个条款和条件页面。应用安装后第一次可见。接受条款后,它永远不会向用户显示。

我为第一页制作了启动图像,而不是为条款页制作了启动图像。但是在应用安装后第一次应该不是标准的。

  1. 那么如何根据条件使用 2 个启动图像呢?

  2. 如果我只为我的应用程序(iPhone 和 iPad)设置纵向模式,Apple 会拒绝吗?

4

2 回答 2

1
  1. 我认为你不应该使用 2 启动图像。如果要根据条件检查图像,可以使用视图控制器显示、动画并转到下一个屏幕。启动图像只有一个。我们无法访问它。
  2. 只有 iPhone 和 iPad 的肖像不会拒绝。
于 2013-05-21T07:04:37.983 回答
0

我这样解决了这个问题:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    // ... stuff

    if( [defaults objectForKey:@"GTCAccepted"] )
    {
        [self performSelector:@selector(gtcAccepted)]; //
    }
    else
    {
        GTCViewController* gtcViewController; // where GTCViewController is a normal UIViewController

        //universal app
        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
            gtcViewController = [[GTCViewController alloc] initWithNibName:@"GTCViewController-iPad" bundle:nil];
        else
            gtcViewController = [[GTCViewController alloc] initWithNibName:@"GTCViewController" bundle:nil];

        [window setRootViewController:gtcViewController]; // also can show as modal VC
        [gtcViewController release];

        // if accepted, set [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"GTCAccepted"]; in the GTCViewController
    }
}

以及您的 2 张启动图片...

接受 GTC 后尝试此代码

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"GTCAccepted"];

NSURL *path2 = [[NSBundle mainBundle] URLForResource:@"Default-568h@2x_2" withExtension:@"png"];
NSURL *path = [[NSBundle mainBundle] URLForResource:@"Default-568h@2x" withExtension:@"png"];

[[NSFileManager defaultManager] removeItemAtURL:path error:nil]; // permission denied

if([[NSFileManager defaultManager] copyItemAtURL:path2 toURL:path error:nil])
{
    NSLog(@"startItem replaced!");
}else
{
    NSLog(@"oh oh... item not replaced!");
}

更新:
代码在设备上不起作用,请参阅删除权限被拒绝

顺便说一句,如果你总是在从 Xcode 开始的模拟器上运行,你将在每次运行时覆盖它。在这里你没有机会在应用程序启动之前更改图像。

于 2013-05-21T07:35:08.403 回答