iOS

提供: MacWiki
移動: 案内検索

iOSとは?

iPad, iPhone, iPod touch に搭載されているOS。詳しくは以下のところを参照して下さい。

iOS アプリケーション(iOS App)

iOSアプリは、(iTunes) App Storeから購入できる。

iOSアプリは /Users/username/Music/iTunes/iTunes Media/Mobile Applications/ といったディレクトリに.ipaのファイルとして保存されている。この.ipaファイルはzip圧縮されたもので(必要ならば拡張子を.zipに変更して)適当な解凍ツールで展開できる。展開して得られるプロパティリスト(.plist)のファイルからは、様々な情報が確認できる。

.ipaファイルからURI(URL)スキーム名を調べるAppleScriptテキストエディットに出力)

set ipaFiles to choose file of type "com.apple.itunes.ipa" default location (alias ((path to music folder as string) & "iTunes:iTunes Media:Mobile Applications:")) with prompt "iOS Appファイル(.ipa)を選択して下さい" with multiple selections allowed
repeat with idx from 1 to (count every item of ipaFiles)
	set item idx of ipaFiles to POSIX path of item idx of ipaFiles
end repeat

repeat with ipaFile in ipaFiles
	
	do shell script "unzip -o " & quoted form of ipaFile & " iTunesMetadata.plist -d " & quoted form of POSIX path of (path to temporary items from user domain as string)
	set tmpiTunesMetadata to POSIX path of ((path to temporary items from user domain as string) & "iTunesMetadata.plist")
	do shell script "chmod u+r " & quoted form of tmpiTunesMetadata
	-- set appName to (do shell script "defaults read " & quoted form of tmpiTunesMetadata & " itemName") -- 日本語が\uxxxx、®が\256といった形式になってこのままではダメ
	tell application "System Events"
		-- get value of contents of property list file tmpiTunesMetadata
		set appName to value of property list item "itemName" of property list file tmpiTunesMetadata
	end tell
	-- set appName to (do shell script "/usr/libexec/PlistBuddy -c 'Print itemName' " & quoted form of tmpiTunesMetadata) -- これでもいい(日本語等もOK)
	
	set pathInfo to (do shell script "zipinfo -1 " & quoted form of ipaFile & " | grep -E 'Payload/[^/]+\\.app/Info\\.plist$' | perl -pe 's/\\[/[[]/g'") -- unzipコマンドのためにパスに[が含まれる場合に[[]に置換しておく
	do shell script "unzip -jo " & quoted form of ipaFile & space & quoted form of pathInfo & " -d " & quoted form of POSIX path of (path to temporary items from user domain as string)
	tell application "System Events"
		set tmpInfo to property list file ((path to temporary items from user domain as string) & "Info.plist")
		set listSchemes to {}
		if (name of every property list item of tmpInfo) contains "CFBundleURLTypes" then
			repeat with aCFBundleURLType in (value of property list item "CFBundleURLTypes" of tmpInfo) as list
				set listSchemes to listSchemes & CFBundleURLSchemes of (aCFBundleURLType & {CFBundleURLSchemes:{}}) -- CFBundleURLSchemes は aCFBundleURLType になければ {} として追加
			end repeat
		end if
	end tell
	if listSchemes is {} then
		set theSchemes to "URIスキームなし"
	else
		set theSchemes to item 1 of listSchemes & ":"
		repeat with aScheme in rest of listSchemes
			set theSchemes to theSchemes & ", " & aScheme & ":"
		end repeat
	end if
	
	set theText to appName & " (" & (do shell script "basename " & quoted form of ipaFile) & ") => " & theSchemes & return
	tell application "TextEdit"
		try
			tell theDoc to make new paragraph at after last paragraph of it with data theText
		on error
			activate
			set theDoc to make new document
			tell theDoc to make new paragraph at after last paragraph of it with data theText
		end try
	end tell
	
end repeat

tell theDoc
	activate
	set msgText to "iOS Appファイル" & (count items of ipaFiles) & "個を調べ終わりました"
	beep
	display dialog msgText buttons {"OK"} giving up after 5 default button 1
	-- do shell script "say -v Kyoko " & msgText
end tell

URIスキーム

他のアプリを呼び出す方法の1つとして、URI(URL)が使われる。

URI(URL)の例
iOSアプリ URIスキーム 説明など
iTunes Store itms 各項目を開くには基本的にリンクのhttpをitmsに置き換えればいい(URIの一部を省略してもいいようです)
ミュージック itms://itunes.apple.com/jp/genre/id34
 花は咲く itms://itunes.apple.com/jp/album/id534047162?i=534047598
ミュージックビデオ itms://itunes.apple.com/jp/genre/id31
映画 itms://itunes.apple.com/jp/genre/id33
 はやぶさ/HAYABUSA itms://itunes.apple.com/jp/movie/hayabusa-hayabusa/id504814728
Podcast itms://itunes.apple.com/jp/genre/id26
 TEDTalks (日本語) itms://itunes.apple.com/WebObjects/DZR.woa/wa/viewTagged?id=204040224&tag=Japanese+-+%E6%97%A5%E6%9C%AC%E8%AA%9E
オーディオブック itms://itunes.apple.com/jp/genre/id50000024
 99.9%は仮説 思いこみで判断しないための考え方 itms://itunes.apple.com/WebObjects/MZStore.woa/wa/viewAudiobook?id=173331930
検索する itms://itunes.apple.com/WebObjects/MZStore.woa/wa/search?term=検索語
App Store itms-apps 教育 itms-apps://itunes.apple.com/jp/genre/id6017
辞書/辞典/その他 itms-apps://itunes.apple.com/jp/genre/id6006
 WolframAlpha itms-apps://itunes.apple.com/jp/app/wolframalpha/id334989259
検索する itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/search?media=software&term=検索語
iBooks itms-books 科学/自然 itms-books://itunes.apple.com/jp/genre/bukku-ke-xue-zi-ran/id9019
フィクション/文学 itms-books://itunes.apple.com/jp/genre/bukku-fikushon-wen-xue/id9031
 Bushido, the Soul of Japan itms-books://itunes.apple.com/jp/book/bushido-the-soul-of-japan/id505978399
検索する itms-books://itunes.apple.com/WebObjects/MZStore.woa/wa/search?media=ebook&term=検索語
iTunes U itms-itunesu 大学: 日本 itms-itunesu://itunes.apple.com/WebObjects/DZR.woa/wa/viewiTunesUProviders?id=EDU&mzcc=JP
研究機関: 日本 itms-itunesu://itunes.apple.com/WebObjects/DZR.woa/wa/viewiTunesUProviders?id=ORG&mzcc=JP
サイエンス チャンネル itms-itunesu://itunes.apple.com/jp/institution/science-channel/id505896311
 松江から世界へ!プログラミング言語Ruby itms-itunesu://itunes.apple.com/jp/itunes-u/28-shirizu-zhong-xiao-qi-yeno/id529722670?i=115796354
検索する itms-itunesu://itunes.apple.com/WebObjects/MZStore.woa/wa/search?media=iTunesU&term=検索語
Podcast itms-podcast 検索する itms-podcast://itunes.apple.com/WebObjects/MZStore.woa/wa/search?media=podcast&term=検索語
Safari 検索する x-web-search://?検索語
検索サイトを指定して検索する x-web-search://検索サイト名?検索語(検索サイト名は google、yahoo、bing、duckduckgo、wikipedia など)
メール mailto mailto:メールアドレス
mailto:?subject=Good%20News&body=Dear%20Sir,%0A(スペースは%20、改行は%0Aとする,%0D%0Aではダメ?)
mailto:メールアドレス?subject=Good%20News&body=Dear%20Sir,%0A
Mail Links - Apple URL Scheme Reference
マップ maps キーワードで開く maps:q=キーワード
緯度,経度を指定して開く maps:q=緯度,経度(南緯、西経には-をつける,qの代わりにllでもいい)
ミュージック music アプリの起動 music:
ビデオ videos アプリの起動 videos:
メッセージ sms sms:携帯電話番号やメールアドレス
電話 tel
telprompt
tel:電話番号(すぐに発信する)
telprompt:電話番号(プロンプトが表示され、発信かキャンセルを選択できる)
FaceTime facetime
facetime-prompt
facetime-audio
facetime-audio-prompt
facetime:メールアドレスや携帯電話番号(すぐに発信する)
facetime-prompt:メールアドレスや携帯電話番号(プロンプトが表示され、FaceTimeかキャンセルを選択できる)
facetime-audio:メールアドレスや携帯電話番号(音声通話、すぐに発信する)
facetime-audio-prompt:メールアドレスや携帯電話番号(プロンプトが表示され、発信かキャンセルを選択できる)
Google Earth comgoogleearth
comgoogleearthgeo
緯度,経度を指定して開く comgoogleearthgeo:緯度,経度(南緯、西経には-をつける)
Google Maps comgooglemaps キーワードで開く comgooglemaps://?q=キーワード
緯度,経度を指定して開く comgooglemaps://?center=緯度,経度(南緯、西経には-をつける)
Google Maps URL Scheme - Google Maps SDK for iOS - Google Developers
Trunk Notes tn ノートを開く tn://ノート名
新規ノート(テキスト) tn://Special:NewText
新規ノート(画像) tn://Special:NewImage
新規ノート(カメラ) tn://Special:NewCamera
新規ノート(サウンド) tn://Special:NewSound
検索語が含まれるノートのリストを表示 tn://Special:SearchPage?text=検索語
指定したタグのついたノートのリストを表示 tn://Special:Tagged?tagname=タグ
YouTube youtube 動画を指定して開く youtube:YouTubeのv値
1Writer onewriter 指定した文書を表示する onewriter://x-callback-url/open?path=Documents&name=Guide.md&type=local(pathには1WriterのFoldersにあるフォルダ名を指定しtypeも指定する、iCloudならpath=iCloud、type=icloudとする、Dropboxならpath=フォルダ名、type=dropboxとする)
クリップボードの内容で指定した文書の内容を書き換える onewriter://x-callback-url/replace?path=Documents&name=logs.txt&type=local(replace の代わりに append や prepend とすれば既存の内容の後や前に追記できる)
クリップボードの内容で新規文書を作成する onewriter://x-callback-url/create-todo?path=Documents&name=checklist.txt&type=local(文頭にチェックボックスのあるtodo形式)
1Writer - URL Scheme
CarbonFin Outliner outliner アプリの起動 outliner://open
アウトラインを指定して開く outliner://name/アウトライン名
CarbonFin - Frequently Asked Questions

Wiki内の関連ページ