Мое приложение разработано с использованием 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?
Любая помощь приветствуется!