Страницы

Поиск по вопросам

воскресенье, 8 марта 2020 г.

Как получать html документы из другого приложения?

#objective_c #xcode #swift


Во многих программах есть кнопка "Share", которая открывает список приложений, умеющих
обрабатывать этот тип файлов, например:



Я хочу, чтобы мое приложение могло обрабатывать html файлы.
Например пользователь нажимает кнопку "Share" в Google Chrome или в DropBox, а ссылка
передается моему приложению.
Где искать информацию?
    


Ответы

Ответ 1



Сначала в Info.plist прописываете: CFBundleDocumentTypes CFBundleTypeName HTML LSHandlerRank Alternate LSItemContentTypes public.html public.xhtml В AppDelegate: //Swift func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool { //do something with html file here return true } //Objective-C - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { //do something with html file here return YES; } И передавайте: Чтобы получить url из Safari создайте App Extension: File -> New -> Target -> Share Extension Соглашаетесь создать схему, запускаете и видите: Схема как это работает: Подробнее в Документации Далее необходимо настроить. Для начала в - (BOOL)isContentValid { // Do validation of contentText and/or NSExtensionContext attachments here return YES; } Проверяете что Вам необходимо и если подходит, return YES; если что-то не то return NO;. Включить и настроить App Groups: И сохранять данные можно через NSUserDefaults: NSUserDefaults *shared = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.test.one"]; [shared setObject:object forKey:@"yourkey"]; [shared synchronize]; Получить: NSUserDefaults *shared = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.test.one"]; id value = [shared valueForKey:@"yourkey"]; NSLog(@"%@",value);

Комментариев нет:

Отправить комментарий