Vornic
@Vornic
Программист

Xamarin виджеты для iOS8, передача параметров в приложение возможно?

Делая виджет для приложения, обнаружил что параметры в ios 8 не передаются, если версия системы выше, то всё ок.
Передаю параметры так:
ExtensionContext?.OpenUrl("MyApp://?param=value", (bool success) => {
		if (!success) InfoLabel.Text = "Не удаётся открыть приложение!"; 
	} );

...в приложении ловлю эти параметры так, в AppDelegate.cs:
public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
	{
		string[]
				UriParams = url.RelativeString.Split('?'),
				ParamsVal = UriParams?.Length > 1 ? UriParams[1].Split('=') : null;

		Instance.WidgetAction = ParamsVal?.Length > 1
								? ParamsVal[1]
								: string.Empty;
	} ;

...и вот тут ios8 почему то параметры не прилетают.
  • Вопрос задан
  • 15 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vornic
@Vornic Автор вопроса
Программист
Сам себе и отвечаю, вдруг кому то пригодится.
Оказывается, в AppDelegate есть два метода OpenUrl, я неудачно выбрал
OpenUrl(UIApplication application, NSUrl url, NSDictionary options)

вместо
OpenUrl(UIApplication application, NSUrl url, string sourceApplication, NSObject annotation)

В этом случае, параметры передаются корректно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы