見出し画像

【Objective-C】他のアプリを開く方法

ほこういう人に向けて発信しています。
・他のアプリを開いて値を渡したい人
・アプリを開けるか確認するcanOpenURLなどの動作を確かめたい人
・Objective-C中級者

開く側で必要な処理(ViewController.m)

#import "ViewController.h"

@interface ViewController ()
// テキストフィールド
@property (weak, nonatomic) IBOutlet UITextField *myTextField;
@end

@implementation ViewController

- (IBAction)pushSchemeButton {

    NSString *schemeName = @"com.iWannaOpenApp";
    NSString *text = _myTextField.text;
    
    // URLスキームでアプリを呼び出す(TextFieldの文字列を渡す)
    NSString *url = [NSString stringWithFormat:@"%@://%@", schemeName, text];
    BOOL canOpen = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:url]];
    if (canOpen) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
    }
}
@end

ホワイトリストに追加してあげる必要があります。

開かれる側で必要な準備

infoからURL Typesを設定してあげる必要がある。

下記記事で詳細に取り扱っております。

上記で設定したURLスキーマを

NSString *schemeName = @"com.iWannaOpenApp";

このように設定してください。


いいなと思ったら応援しよう!