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");
最佳答案
较新的委托(delegate)方法有 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");
关于ios - 已弃用的应用程序 :openURL method - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51270505/