タグ NSUserActivityTypes を使用して、info.plist に文字列を追加します。
画面の viewDidload メソッドに次のコードを追加します。
NSUserActivity *userActivityTag = [[NSUserActivity alloc] initWithActivityType:kVoucher];
if(@available(iOS 12.0, *)) {
[userActivityTag setEligibleForPrediction:YES];
userActivityTag.suggestedInvocationPhrase = [NSString stringWithFormat:@"Let's Voucher this"];
}
[userActivityTag setEligibleForSearch:YES];
[userActivityTag setRequiredUserInfoKeys:nil];
userActivityTag.title = [NSString stringWithFormat:@"Voucher"];
userActivityTag.userInfo = @{
@"value":@"key"
};
UIImage *logo = [UIImage imageNamed:@"someImage"];
NSData *logoNSData = UIImageJPEGRepresentation(logo, 1.0f);
CSSearchableItemAttributeSet *attributes = [[CSSearchableItemAttributeSet alloc] initWithItemContentType: (NSString *)kUTTypeItem];
attributes.title = @"title";
attributes.keywords = @[@"implement", @"something", @"lol"];
attributes.contentDescription = @"Subtitle";
attributes.thumbnailData = logoNSData;
attributes.domainIdentifier = @"ownID";
userActivityTag.contentAttributeSet = attributes;
[userActivityTag becomeCurrent];
その後、その画面に移動し、コードが実行されたことを確認するためにブレークポイントを設定します。[設定] -> [開発者] -> [最近のショートカットを表示] と [寄付をロック画面に表示] の両方のオプションをオンにします。
私の AppDelegate では、これがありました:
if([userActivity.activityType isEqualToString:kVoucher]) {
// Restore state for userActivity and userINFO
}
問題は、ロック画面にショートカットが表示されないのはなぜですか?
助けてください!