Подтвердить что ты не робот

Возврат Тип -приложения: didFinishLaunchingWithOptions:

При разработке для iOS первой точкой входа для вашего приложения является -[AppDelegate application:didFinishLaunchingWithOptions:]. Возвращаемым типом этого метода является BOOL. По умолчанию возвращаемым типом этого метода является YES. Вот код, который автоматически генерируется Xcode.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];

    return YES;
}

Как вы можете видеть, Xcode помещает в оператор return для вас значение со значением YES. Когда я изменяю значение оператора return на NO и ничего не меняю, ничего не происходит. Приложение не прекращает работу или не показывает какого-либо необычного поведения. Это задает вопрос, , какова цель метода, возвращающего BOOL, когда возвращаемое значение не имеет значения? Если возвращаемое значение не имеет значения, почему метод не возвращает void?
Примечание. Некоторые из моих ожиданий после изменения возврата на NO были либо

  • Приложение не запускается, потому что оно не получает "разрешение" (возвращается NO)
  • Любой компилятор генерирует предупреждение, или ошибка возникает во время выполнения.
    Почему это так: ни одна из этих вещей не происходит?
4b9b3361

Ответ 1

Если в launchOptions есть URL-адрес и вы возвращаете NO, тогда операционная система будет знать, что вы не можете открыть предоставленный URL-адрес по какой-либо причине.

Он не используется ни для чего другого. Поскольку, как правило, в launchOptions нет URL-адреса, обычно не имеет значения, что вы возвращаете.

Так что просто верните YES. Подробнее в документации Apple здесь вы можете прочитать.