我使用链接https://firebase.google.com/docs/dynamic-links/ios对firebase集成进行了更改,以下是处理URL并将用户导航到相应屏幕的处理.对于低于9.0的iOS版本,调用appdelegate的openURL方法,我可以获取URL.但是对于iOS版本9.0及更高版本,我在app delegate的ContinueUserActivity方法中调用,并且我获得了dynamicLink.url的nil值.
我无法理解为什么我无法获取Url的原因.
- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray * _Nullable))restorationHandler {
NSLog(@"Short URl : %@",userActivity.webpageURL);
__weak AppDelegate *weakSelf = self;
BOOL handled = [[FIRDynamicLinks dynamicLinks]
handleUniversalLink:userActivity.webpageURL
completion:^(FIRDynamicLink * _Nullable dynamicLink,
NSError * _Nullable error) {
AppDelegate *strongSelf = weakSelf;
[strongSelf handleReceivedLink:dynamicLink];
}];
return handled;
}
-(void)handleReceivedLink:(FIRDynamicLink*)dynamicLink{
NSString* urlString = [NSString stringWithFormat:@"%@",dynamicLink.url];
NSLog(@"Extended URL : %@",urlString);
}
Run Code Online (Sandbox Code Playgroud)