Cla*_*sen 10 objective-c ios handoff ios8.1 nsuseractivity
我正试图在iPhone和iPad之间测试iOS 8.1切换功能和NSUserActivity.为此,我尝试了实现自己的解决方案,并使用Apple的PhotoHandoff项目.但是,它不起作用.
如果我提供了一个webpageURL,切换工作正常,但是当我尝试使用userData或者addUserInfoEntriesFromDictionary实在不行,我不能为我的生活出美中不足的是什么使数据的工作.
示例代码:
NSUserActivity *activity = [[NSUserActivity alloc] initWithActivityType:@"com.company.MyTestApp.activity"];
activity.title = @"My Activity";
activity.userInfo = @ {};
// activity.webpageURL = [NSURL URLWithString:@"http://google.com"];
self.userActivity = activity;
[self.userActivity becomeCurrent];
[self.userActivity addUserInfoEntriesFromDictionary:@ { @"nanananan": @[ @"totoro", @"monsters" ] }];
Run Code Online (Sandbox Code Playgroud)
(我也无法使用具有相应活动类型的Mac应用程序)
要更新活动对象\xe2\x80\x99s userInfo 字典,您需要在 userInfo 需要更新时配置其委托并将其 needSave 属性设置为 YES。
\n\n采用切换指南的最佳实践部分描述了此过程。
\n\n例如,对于一个简单的 UITextView,您需要在 Info.plist 属性列表文件中的 NSUserActivityTypes 数组中指定活动类型(“com.company.app.edit”)标识符,然后:
\n\n- (NSUserActivity *)customUserActivity \n{\n if (!_customUserActivity) {\n _customUserActivity = [[NSUserActivity alloc] initWithActivityType:@"com.company.app.edit"];\n _customUserActivity.title = @"Editing in app";\n _customUserActivity.delegate = self;\n }\n\n return _customUserActivity;\n}\n\n- (void)textViewDidBeginEditing:(UITextView *)textView \n{\n [self.customUserActivity becomeCurrent];\n}\n\n- (void)textViewDidChange:(UITextView *)textView \n{\n self.customUserActivity.needsSave = YES;\n}\n\n- (BOOL)textViewShouldEndEditing:(UITextView *)textView \n{\n [self.customUserActivity invalidate];\n\n return YES;\n}\n\n- (void)userActivityWillSave:(NSUserActivity *)userActivity \n{\n [userActivity addUserInfoEntriesFromDictionary:@{ @"editText" : self.textView.text }];\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
4190 次 |
| 最近记录: |