littlewing

人間とコンピューターとメディアの接点をデザインするために考えたこと

Unity4.6 + Xcode6.3 でカスタムURLスキームが起動しない場合の対処方法

  • ハマったのでメモ

1. Info.plistにちゃんとURL typesは入っているか?

いつのバージョンからはわかりませんが、Info.plistの

<plist version=\"1.0\">
<dict>

<plist version=\"1.0\">
  <dict>

とタブ文字二つ(空白かも)が入るようになっています。

これによって、Editorでのマクロが上手く動かずInfo.plistの変更が失敗している場合があります。

2. handleOpenURLを使っていないか?

  • handleOpenURLは非推奨となり、利用されない場合があります。
  • openURLに(も)実装しましょう。

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

  • こんな感じでしょうか
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    
    
    if (!url) {  return NO; }
    
    // --- Custom URL Scheme Hook ---
    // スキーム名取得
    NSString *message = [url absoluteString];
    
    
    [[NSUserDefaults standardUserDefaults] setObject:message forKey:[url scheme]];
    [[NSUserDefaults standardUserDefaults] synchronize];
     
    return YES;
}

Xcode 6.3 でデバイスが選択できない!Ineligible Devices

  • これもハマった
  • 上部メニューの Products -> destination から端末を選ぶと選択可能