require "xcodeproj"
def get_bundle_identifier(plist_path)
command = "/usr/libexec/PlistBuddy -c 'Print :CFBundleIdentifier' #{plist_path}"
result = %x[#{command}]
return result.gsub("${PRODUCT_NAME}", "yourappname")
end
plist = "#{ARGV[0]}/Info.plist"
appname = get_bundle_identifier(plist)
system("/usr/libexec/PlistBuddy -c 'Add :CFBundleURLTypes array' #{plist}")
system("/usr/libexec/PlistBuddy -c 'Add CFBundleURLTypes:0:CFBundleURLSchemes array' #{plist}")
system("/usr/libexec/PlistBuddy -c 'Add CFBundleURLTypes:0:CFBundleURLSchemes:0 string #{appname}' #{plist}")
<a href="aaa.bbb.ccc://">iOS App</a>
<!-- URL Scheme -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="aaa.bbb.ccc" />
</intent-filter>
<a href="aaa.bbb.ccc://a=b">Android App</a>
- Androidにて、dataタグにhostなどを書くとURLにそれも含めないと開かない(ので今回は書いてない)
- iOSではブラウザのURL欄に入力すれば飛べるが、Androidだと検索してしまうのでHTML aタグで確認する
- URL Schemeが間違っているのか、URLタグの書き方が間違っているのかが把握しづらい