ipa から mediba の広告SDK が使われているかどうかを判断するスクリプト
今度は URLスキームじゃなくて mediba SDK のチェック
▼ この方のTweetから
Twitter / @maloninc: Music/iTunes/Mobile\ Appli ...
▼ こちらを確認した上で、日本語名のアプリでも確認できるようにしてみました。
iPhoneアプリ向け広告配信SDK - mediba ad tech infomation
私は ruby が書けないので相変わらず bash です。今度はターミナルで実行するだけにとどめてあります。Automator.app にすると可読性悪くなるので。私はこれをcronに登録して自動起動しています。
以下、私の環境の場合(ミュージックフォルダをホームから動かしているため)
# chmod +x medibaCheck.sh # ./medibaCheck.sh /Volumes/SecondD/Music/iTunes/Mobile\ Applications
ミュージックフォルダがデフォルトのままの人は、
# ./medibaCheck.sh
だけでOKです。別にデフォルトを書き換えてもOKなんですけど。拡張子を.command にするとダブルクリックで起動できるそうなので、Automator.app にするまでもなさそうです。結果はデスクトップにそれらしき名前の HTMLファイルで出力されます。
▼ 無駄に HTMLファイルに出力バージョン
テキストファイルに出力するだけなら、この1/3以下で済みます。
#!/bin/bash # medibaCheck.sh : 2012/03/20 18:27:46 by Stray Donkey now=`date "+%Y%m%d-%H%M%S"` basedir="${HOME}/Desktop" outf="${basedir}/medibaCheck-${now}.html" #-- デフォルトを定数 第1引数があればそれを使う appLocation="${HOME}/Music/iTunes/Mobile Applications" if [ $# -ge 1 ] ; then appLocation="$1" fi declare -i counter=0 rm -rf /tmp/fflag searchpat="MasManagerViewController" function scanipafile { ipafile="$1" basepath=`zipinfo -1 "$ipafile" | egrep "$searchpat"` if [ -n "$basepath" ]; then let counter=$counter+1 echo $counter > /tmp/fflag echo "<tr><td class='status'>$ipafile</td></tr>" fi } cat << EOT > $outf <!DOCTYPE html> <html lang='ja'> <head> <meta charset='UTF-8'> <style media="screen and (min-device-width: 641px)"> body { background-color: darkseagreen; width: 90%; } .title { font-size:120%; padding:10px 22px; } .sn { font-size:90%; padding:10px 5px; text-align:right; } .ta1 { width: 90%; margin-top:20px; margin-left:50px; margin-bottom:10px; } </style> <style media="only screen and (max-device-width: 640px)"> body { background-color: lightpink; width: 98%; } .title { font-size:120%; padding:3px 5px; } .sn { font-size:90%; padding:5px 5px; text-align:right; } .ta1 { width: 98%; margin-top:5px; margin-left:5px; margin-bottom:5px; } </style> <style> .ta1 th { border-bottom:double 3px #666666; text-align:left; } .ta1 td { border-bottom:solid 1px #666666; } .ta1.status { text-align:center; } .ta1 th,.ta1 td { padding:10px 22px; } </style> </head> <body> <p class="title"><b>mediba Checker v0.9</b></p> <table class='ta1' cellspacing='0'> <th>App filename</th> EOT find "$appLocation" -iname "*.ipa" -exec ls \{\} \; | while read ipafile do scanipafile "$ipafile" >> $outf echo "ipafile= "$ipafile "count= " $counter >&2 done echo "*****count= " $counter "fflag= " `cat /tmp/fflag` >&2 if [ -e /tmp/fflag ] ; then cat << EOT >> $outf </table> <p class="title"><b>Total found `cat /tmp/fflag` mediba module</b></p> <p class="sn">by Stray.D 2012/03/12 </p> </body></html> EOT else cat << EOT >> $outf </table> <p class="title"><b>Congratulations! Not found mediba module</b></p> <p class="sn">by Stray.D 2012/03/12 </p> </body></html> EOT fi echo $outf
改編、ご自由にどうぞ。
あ、結果のほうですが、以下2つが引っかかりました。