#objective_c #xcode #swift
Во многих программах есть кнопка "Share", которая открывает список приложений, умеющих обрабатывать этот тип файлов, например: Я хочу, чтобы мое приложение могло обрабатывать html файлы. Например пользователь нажимает кнопку "Share" в Google Chrome или в DropBox, а ссылка передается моему приложению. Где искать информацию?
Ответы
Ответ 1
Сначала в Info.plist прописываете:CFBundleDocumentTypes В 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 CFBundleTypeName HTML LSHandlerRank Alternate LSItemContentTypes public.html public.xhtml *)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);
Комментариев нет:
Отправить комментарий