Завершение работы приложения из-за необработанного исключения NSInvalidArgumentException, нераспознанный селектор отправлен в класс - PullRequest
1 голос
/ 30 мая 2019

Чтобы подавить избирателей, я потратил несколько дней, пытаясь найти решение этой проблемы, проверяя все, что я могу найти и придумать.Если это очень простой ответ или дубликат, пожалуйста, укажите мне на это, потому что я не нашел ничего об этом, что помогло бы.Или укажите, как улучшить этот вопрос.


В моем AppDelegate.m я получаю следующую ошибку, когда пытаюсь использовать рассматриваемый цвет, и он вылетает с ошибкой ниже:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 
'+[UIColor xForegroundPrimaryColor]: unrecognized selector sent to class 0x1daf70518'

В AppDelegate.m я импортирую следующий файл, где объявлен цвет.

#import "UIColor+X.h"

, который выглядит так:

#import <UIKit/UIKit.h>

@interface UIColor (X)

+ (void)setXBackgroundColor:(UIColor *)bgColor foregroundPrimaryColor:(UIColor *)primaryColor foregroundSecondaryColor:(UIColor *)secondaryColor;
+ (UIColor *)xBackgroundColor;
+ (UIColor *)xForegroundPrimaryColor;
+ (UIColor *)xForegroundSecondaryColor;
@end

И он вылетаеткогда я пытаюсь использовать его здесь:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    //Appearance
    [[UIControl appearance] setTintColor:[UIColor xForegroundPrimaryColor]];
    ...
}

Этот файл и его брат .m находятся в отдельном проекте в одной рабочей области, если это имеет значение?

Почему Xcode не делаетне жалуетесь на этот цвет при сборке, но он не существует при запуске приложения?

Это началось после удаления Firebase из проекта, до этого у него не было проблем с его поиском.

РЕДАКТИРОВАТЬ

цвет объявлен в файле .m следующим образом:

+ (UIColor *)xForegroundPrimaryColor {
    if (primaryColor)
        return primaryColor;

    return [UIColor colorWithRed:(17.0/255.0) green:(67.0/255.0) blue:(103.0/255.0) alpha:1.0];
}

EDIT2

Я только что попытался снова добавить Firebase:

  1. добавив pod 'Firebase/Messaging' в файл pod.
  2. сделал pod install
  3. добавлено@import Firebase в AppDelegate.m
  4. добавлено [FIRApp configure]; в didFinishLaunchingWithOptions

И вдруг цвет распознается снова.Как это могло быть?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...