Как сохранить данные пользовательской схемы запуска iOS в NSUserDefaults для чтения из Unity - PullRequest
0 голосов
/ 10 мая 2019

Мое приложение разработано с использованием Unity3d (2018) и c #.Затем приложение создается для iOS.Теперь я хочу использовать пользовательскую схему для запуска своего приложения для iOS и предоставить дополнительную информацию:

    some-custom-scheme://some-parameter=some-value

Я прочитал на форуме Unity , что лучший способ сделать этосоздать плагин в Unity и подключиться к конвейеру запуска iOS, как описано в сообщении на форуме, например:


-(BOOL)application:(UIApplication*) application didFinishLaunchingWithOptions:(NSDictionary*) launchOptions
{
    NSArray *keyArray = [launchOptions allKeys];
    if ([launchOptions objectForKey:[keyArray objectAtIndex:0]]!=nil) {
        NSURL *url = [launchOptions objectForKey:[keyArray objectAtIndex:0]];
        NSString *urlString = [url absoluteString];

        [[NSUserDefaults standardUserDefaults] setObject:urlString forKey:@"url"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }

    return [super application:application didFinishLaunchingWithOptions:launchOptions];
}

В приложении я просто проверяю PlayerPrefs следующим образом:

    var url = PlayerPrefs.GetString("url");

Однако значение URL пустое.Перебор ключей и оповещение о них в приложении дают два результата: UIApplicationLaunchOptionsKey и UIApplicationLaunchOptionsSourceApplicationKey.И то, и другое не имеет отношения к документации Apple , в которой говорится, что данные должны быть в ключе UIApplicationLaunchOptionsAnnotationKey.

Я также прочитал этот вопрос SO , говорящий постеру использовать метод openURL .

Я чувствую, что я рядом, но еще не там.Что я делаю не так и как это можно исправить?Какой метод лучше?Мой подход с использованием didFinishLaunchingWithOptions или метода openURL?

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 14 мая 2019

Метод openURL нужен для открытия ссылки.NSUserDefaults - локальное хранилище для приложения.

при необходимости сохранить вашу цветовую схему необходимо использовать NSUserDefaults, при необходимости открытия ссылки для использования новой цветовой схемы необходимо использовать openURL.

Сохранить в NSUserDefaults

NSString *urlScheme = @"some-custom-scheme://some-parameter=some-value";
[[NSUserDefaults standardUserDefaults] setValue:urlScheme forKey:@"url"];
[[NSUserDefaults standardUserDefaults] synchronize];

Чтение NSUserDefaults

NSString *loadUrlScheme = [[NSUserDefaults standardUserDefaults] valueForKey:@"url"];
//loadUrlScheme = some-custom-scheme://some-parameter=some-value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...