当我用url打开应用程序时为什么它没有显示任何内容?

时间:2017-02-20 00:53:58

标签: ios objective-c iphone url-scheme

我有以下设置,当我在iPhone 7中使用网址打开我的应用程序(使用网址的应用程序编号1打开的应用程序编号2),然后我没有得到任何网址输入。

根本没有显示任何警告框。 我如何检查我的应用程序中是否收到了网址输入?

AppDelegate.m:

#import "AppDelegate.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    return YES;
}

ViewController.m:

-(BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    //if (url != nil && [url isFileURL]) {
    //[self.ViewController handleOpenURL:url];
    //}
  id test = (NSURL *) url;
  UIAlertController * alert=   [UIAlertController
                                alertControllerWithTitle:@"My Title"
                                message:test
                                preferredStyle:UIAlertControllerStyleAlert];

  [self presentViewController:alert animated:YES completion:nil];
  //NSLog(@">>> got <<< >>> <<< !!!! >>>> : %@", url);
  return YES;
}

- (void)viewDidLoad {
  [super viewDidLoad];
}

1 个答案:

答案 0 :(得分:2)

问题在于

-(BOOL) application:(UIApplication *)application 
    openURL:(NSURL *)url 
    sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

...是一个UIApplicationDelegate方法。所以它不能位于 ViewController.m 中。它需要位于 AppDelegate.m