NSUserActivity
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в iOS 8.0 и позже.
NSUserActivity объект инкапсулирует состояние пользовательского действия в приложении на определенном устройстве в пути, позволяющем тому же действию продолжаться на другом устройстве в соответствующем приложении от того же разработчика. Пользовательские действия включают действия, такие как редактирование документа, просмотр веб-страницы или просмотр видеофильма.
Например, пользователь, редактирующий документ о Mac, должен оставить, но может продолжать редактировать тот документ о iPhone. Лицо, смотрящее кино на iPad, может продолжать смотреть на Mac. В обоих случаях пользователи возобновляют действие в точке, в которой они остановились на исходном устройстве. Ваши приложения должны работать для создания этого опыта максимально бесшовным.
Пользовательское действие может продолжаться только в приложении, (1) имеющем ту же Команду разработчика ID как исходное приложение действия и (2) поддержки тип действия. Приложение указывает, что действие вводит, это поддерживает в Info.plist под NSUserActivityTypes ключ. При получении пользовательского действия для продолжения система определяет местоположение надлежащего приложения для запуска путем считания приложений с той же Командой ID как передающее приложение, затем фильтрации на типе входящего действия.
Для имения Команды ID приложения должны быть распределены через App Store или быть подписанным ID Разработчиком. Приложения, совместно использующие Команду ID, могут выборочно направить действия друг между другом посредством разумного использования действия activityType свойство. Это оказывает поддержку связанным приложениям, структурированным по-другому между платформами. Например, единственное приложение Mac может направить каждый из своих типов действия к меньшим, приложениям специального назначения на iOS.
-
Инициализирует и возвращается недавно создаваемый
NSUserActivityобъект с данным типом действия.Объявление
Swift
init(activityTypeactivityType: String)Objective C
- (instancetype)initWithActivityType:(NSString *)activityTypeПараметры
activityTypeТип действия, которое будет продолжаться. Значение является определенной разработчиками строкой в формате обратного DNS условно, например,
com.myCompany.myEditor.editing.Возвращаемое значение
NSUserActivityобъект.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 8.0 и позже.
-
Инициализирует и возвращается недавно создаваемый
NSUserActvityобъект с первым действием вводит отNSUserActivityвведите приложениеInfo.plist.Объявление
Swift
init()Objective C
- (instancetype)initВозвращаемое значение
NSUserActivityобъект.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 8.0 и позже.
-
supportsContinuationStreamsСвойствоБулево значение, определяющее, может ли продолжающееся приложение запросить потоки быть открытыми назад исходному приложению.
Объявление
Swift
var supportsContinuationStreams: BoolObjective C
@property BOOL supportsContinuationStreamsОбсуждение
Если значение этого свойства
YEStrue, продолжающееся приложение может соединиться назад с исходным приложением для получения дополнительной информации с помощью потоков. Это значение установлено вNOfalseпо умолчанию. Это может динамично быть установлено вYEStrueвыборочно поддерживать потоки продолжения на основе состояния пользовательского действия.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 8.0 и позже.
-
Потоки запросов назад к исходному приложению.
Объявление
Swift
func getContinuationStreamsWithCompletionHandler(_completionHandler: (NSInputStream!, NSOutputStream!, NSError!) -> Void)Objective C
- (void)getContinuationStreamsWithCompletionHandler:(void (^)(NSInputStream *inputStream, NSOutputStream *outputStream, NSError *error))completionHandlerПараметры
completionHandlerБлок обработчика завершения, возвращающий потоки.
Блок берет три параметра:
inputStreamПоток, из которого продолжающееся приложение может считать данные, записанные исходным приложением.
outputStreamПоток, в который продолжающееся приложение пишет данные, которые будут считаны исходным приложением.
errorЕсли успешный,
nil; если не успешный,NSErrorобъект, инкапсулирующий причину, почему не могли быть созданы потоки.Обсуждение
Когда приложение запускается для события продолжения, оно может запросить потоки назад к исходному приложению. Потоки могут быть успешно получены только от
NSUserActivityобъект вNSApplicationилиUIApplicationделегат, которого вызывают для события продолжения. Потоки предоставлены обработчиком завершения в нераскрытом состоянии, и делегат должен открыть их сразу, чтобы начать связываться с продолжающей стороной.Потоки продолжения являются дополнительной функцией Хэндофф, и для большинства пользовательских действий не нужны они для успешного продолжения. Когда потоки необходимы, простой запрос из продолжающегося приложения, сопровождаемого ответом от исходного приложения, достаточно для большинства событий продолжения.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 8.0 и позже.
-
userInfoСвойствоСловарь, содержащий специфичную для приложения информацию состояния, должен был продолжать действие на другом устройстве.
Объявление
Swift
var userInfo: [NSObject : AnyObject]?Objective C
@property(copy) NSDictionary *userInfoОбсуждение
Каждый ключ и значение должны иметь следующие типы:
NSArray,NSData,NSDate,NSDictionary,NSNull,NSNumber,NSSet,NSString, илиNSURL. Система может перевести схему URLs файла, которые отсылают к документам iCloud правильному файлу URLs на продолжающемся устройстве.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 8.0 и позже.
-
Добавляет к
userInfoсловарь записи из данного словаря.Объявление
Swift
func addUserInfoEntriesFromDictionary(_otherDictionary: [NSObject : AnyObject])Objective C
- (void)addUserInfoEntriesFromDictionary:(NSDictionary *)otherDictionaryПараметры
otherDictionaryСловарь, содержащий записи, которые будут добавлены.
Обсуждение
Передача максимально маленькая полезная нагрузка в
userInfoсловарь. Чем больше данных полезной нагрузки, которые Вы поставляете, тем дольше они берут действие для возобновления.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 8.0 и позже.
-
Отмечает получатель как действие, использующееся в настоящее время пользователем.
Объявление
Swift
func becomeCurrent()Objective C
- (void)becomeCurrentОбсуждение
Типичным примером текущего пользовательского действия является действие, связанное с передовым активным окном. Недавно создаваемое пользовательское действие приемлемо на продолжение на другом устройстве после первого раза, когда это становится текущим.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 8.0 и позже.
-
delegateСвойствоПользовательский делегат объекта действия.
Объявление
Swift
weak var delegate: NSUserActivityDelegate?Objective C
@property(weak) id< NSUserActivityDelegate > delegateОбсуждение
Пользовательскому делегату действия сообщают, когда действие сохраняется или продолжается (см.
NSUserActivityDelegate).Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 8.0 и позже.
-
needsSaveСвойствоУказывает, что должно быть обновлено состояние действия.
Объявление
Swift
var needsSave: BoolObjective C
@property(assign) BOOL needsSaveОбсуждение
Если
YEStrue, делегат к этому пользовательскому действию получает auserActivityWillSave:обратный вызов перед действием отправляется за продолжением на другом устройстве.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 8.0 и позже.
-
Лишает законной силы действие, когда это больше не имеет право на продолжение.
Объявление
Swift
func invalidate()Objective C
- (void)invalidateОбсуждение
Приложение вызывает этот метод, когда пользователь прекращает участвовать в действии, такой как тогда, когда закрывается окно, связанное с действием. Недопустимое действие не может стать текущим.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 8.0 и позже.
-
activityTypeСвойствоТип действия, с которым создавался пользовательский объект действия. (только для чтения)
Объявление
Swift
var activityType: String { get }Objective C
@property(readonly, copy) NSString *activityTypeОбсуждение
Это свойство только для чтения, потому что тип действия не может быть изменен после того, как пользовательский объект действия создается.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 8.0 и позже.
-
titleСвойствоДополнительный, видимый пользователем заголовок для этого действия, такого как название документа или заголовок веб-страницы.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 8.0 и позже.
-
webpageURLСвойствоВеб-страница для загрузки в браузере для продолжения действия.
Обсуждение
Когда никакое подходящее приложение не установлено на возобновляющемся устройстве и
webpageURLсвойство установлено, указанная веб-страница загружается, и пользовательское действие продолжается веб-браузер.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 8.0 и позже.
