Сегодня Расширения имеют NSExtensionContext
, разоблачен как собственность extensionContext. ExtensionContext имеет метод openURL, который вы можете передать частному URL для запуска вашего приложения.
Это довольно широкий вопрос, поэтому мы предлагаем широкий обзор техники.
(1) зарегистрируйте пользовательскую схему URL в своем основном приложении, например. MyApp:
Добавить ключи в файл Plist приложения, например .:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.mycompany.myapp</string>
<key>CFBundleURLScheme</key>
<array>
<string>myapp</string>
</array>
</dict>
</array>
это регистрирует с прошивкой, что ваше приложение обрабатывает "MYAPP" схему. Используйте свое имя здесь и выберите тот, который, скорее всего, будет уникальным!
(2) называют openURL
на вашем extensionContext вашего сегодняшнего обзора расширение контроллера
[self extensionContext] openURL:[NSURL URLWithString:@"myapp://someurl"] completionHandler:nil];
(3) обработки вызова в Application делегатом вашего приложения, и это метод handleOpenURL
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
// do something here
}
Из Конечно, предполагается, что вы разместили кнопки в своем сегодняшнем виджетах и у вас есть соответствующие обработчики, чтобы использовать кнопку и передавать соответствующий URL-адрес в приложение.
Вы отметили вопрос с помощью Swift, но эти образцы фрагментов находятся в Obj-C, извините за это.
Это замечательно. Я рассмотрю это. Большое спасибо. –