application:openURL:sourceApplication:annotation:实例方法在iOS 10中已弃用。我很难理解如何使用application:openURL:options:
将旧方法转换为新方法。例如,在此XCT测试中。如何使用新的application:openURL:options调用更新它?
NSObject *someAnnotation = [NSObject new];
XCTAssertNoThrow([self.appDelegate application:self.application
openURL:[NSURL URLWithString:@""]
sourceApplication:@"tests"
annotation:someAnnotation],
@"Should should not throw an exception");
答案 0 :(得分:2)
较新的委托方法具有options
,这是一个字典,它代替了sourceApplication
和annotation
参数,并可能包含其他键/值。
请参阅UIApplicationOpenURLOptionsKey
的文档。
您的代码将变为:
NSObject *someAnnotation = [NSObject new];
NSDictionary *options = @{
UIApplicationOpenURLOptionsSourceApplicationKey: @"tests",
UIApplicationOpenURLOptionsAnnotationKey: someAnnotation
};
XCTAssertNoThrow([self.appDelegate application:self.application
openURL:[NSURL URLWithString:@""]
options:options],
@"Should should not throw an exception");