Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在应用程序启动时运行一次?_Iphone_Objective C_Cocoa Touch_Ipad - Fatal编程技术网

Iphone 如何在应用程序启动时运行一次?

Iphone 如何在应用程序启动时运行一次?,iphone,objective-c,cocoa-touch,ipad,Iphone,Objective C,Cocoa Touch,Ipad,当我的应用程序发布时,我正试图播放一部介绍电影,但我已经完全疯了,我在代码中做了很多测试,同时尝试使用它 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. NSLog(@"App

当我的应用程序发布时,我正试图播放一部介绍电影,但我已经完全疯了,我在代码中做了很多测试,同时尝试使用它

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
     // Override point for customization after application launch.
     NSLog(@"App started to launch");
     [self.window makeKeyAndVisible];
     [self.window addSubview:_intro.view];
     return YES;
 }
但这就是让我的视频运行的原因,即使我来自后台。
如果我喜欢按下中间按钮,然后双击中间按钮并按下应用程序图标,我会让电影再次播放

我忘了说这是我的观点

- (void)viewDidLoad    
{
    [super viewDidLoad];
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    BOOL launchedBefore = [userDefaults boolForKey:@"hasRunBefore"];
    NSLog(@"value of hasRunBefore is %d",launchedBefore);
    if(!launchedBefore)
    {
        [userDefaults setBool:1 forKey:@"hasRunBefore"];
        launchedBefore = [userDefaults boolForKey:@"hasRunBefore"];   
        NSLog(@"value of hasRunBefore is %d",launchedBefore);
        [self playvideo];
    }
}

NSUserDefaults
在您发送
synchronize
消息之前不会将更改提交到磁盘

尝试添加以下操作:

[userDefaults setBool:YES forKey:@"hasRunBefore"];
[userDefaults synchronize];

NSUserDefaults
在您发送
synchronize
消息之前不会将更改提交到磁盘

尝试添加以下操作:

[userDefaults setBool:YES forKey:@"hasRunBefore"];
[userDefaults synchronize];

它不起作用:(我在每次更改值后都尝试使用它,但没有成功。我认为didFinishLaunchingWithOptions会在我从后台到前台的时间后运行。我在后台设置为0,在前台设置为1,非常感谢。很酷,很高兴它起作用。你可能想接受答案。它不起作用:(我试着在每次值变化后输入它,但没有成功。我认为didFinishLaunchingWithOptions会在我从后台到前台的时间后运行。我在后台设置为零,在前台设置为1,非常感谢。很酷,很高兴它起作用。你可能会想接受答案。