2017-02-20 19 views
-3

iPhone 7でURLを使用してアプリを開くと(アプリケーション番号2がアプリ番号1で開きます)、次にURL入力がありません。URLを使ってアプリを開いたときに何も表示されないのはなぜですか?

警告ボックスが一切表示されません。 アプリでURL入力を受け取っているかどうかを確認するにはどうすればよいですか?

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]; 
} 

答えて

2

問題が

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

が... UIApplicationDelegate方法であるということです。したがって、ViewController.mには存在しません。それはAppDelegate.mにある必要があります。

+0

これをAppDelegate.mに入れましたが、1つのエラーが発生しました。 '/Users/sun/Desktop/iphone/AppDelegate.m:16:9:' AppDelegate 'の表示されない@interfaceが、セレクタのpresentViewController:animatedを宣言します。 :completion: '' – YumYumYum

+2

確かに、あなたはまったく異なるエラーを持っています。しかし、それはあなたが尋ねたことではありません。問題は「それから私はどんなURL入力も得ていません」でした。さて、あなたは今です!その問題は解決される。完了しました。 '現在のものを取り出して' NSLog'を入れてみると、あなたが表示されます。 – matt

+0

サー、その働きをありがとう。 – YumYumYum

関連する問題