2014/02/01からiTunesでの申請に120x120,76x76,152x152のアイコンが必須になるそうだ。
Unityでは4.3以降から上記アイコンの登録が可能だが、現在は4.3以下のバージョンを利用しているので下記をXcodeに追加する対応を行った。
今後4Kディスプレイになった時にも役に立つかもしれないのでメモがてら。

いつものようにmod_pbxproj.py使う処理に下記を追加した。
ポイントとしてフルパスでは認識しなかった。

#icon setting
shutil.copy(workspace + "/Assets/Icon-76.png",xcodepath + "/Icon-76.png")
shutil.copy(workspace + "/Assets/Icon-76@2x.png",xcodepath + "/Icon-76@2x.png")
shutil.copy(workspace + "/Assets/Icon-120.png",xcodepath + "/Icon-120.png")

os.system('/usr/libexec/PlistBuddy -c "Add CFBundleIconFiles:4 string Icon-76.png" ' + xcodepath + '/info.plist');
os.system('/usr/libexec/PlistBuddy -c "Add CFBundleIconFiles:5 string Icon-76@2x.png" ' + xcodepath + '/info.plist');
os.system('/usr/libexec/PlistBuddy -c "Add CFBundleIconFiles:6 string Icon-120.png" ' + xcodepath + '/info.plist');

prj.add_file('Icon-76.png', tree='<group>')
prj.add_file('Icon-76@2x.png', tree='<group>')
prj.add_file('Icon-120.png', tree='<group>')

UnityでPostprocessBuildPlayerを使ってXcodeに外部frameworkを取り込んでみた

情報が既出してあったので自分が作成したSampleも書いておく。
最近はUnityのコンパイルサーバー作ってAssetBundleも一緒に出力したり、課金処理書いたりしてます。

  • Assets/Editor に下記2ファイルを設置
#!/usr/bin/env python

from mod_pbxproj import XcodeProject
import sys
import os
import os.path

selfpath = sys.argv[0]
installpath = sys.argv[1]
target = sys.argv[2]
print "Postprocess Build Target: " + target + "\n" 
buildpath = os.path.join(os.path.dirname(selfpath),'../../Builds')

if target == "iPhone":
    projpath = installpath + "/Unity-iPhone.xcodeproj/project.pbxproj" 
    print ".pbxproj " + projpath + "\n";
    project = XcodeProject.Load(projpath)

    project.add_file(buildpath + '/Nakamap.framework')

    if project.modified:
        project.backup()
        project.save()

    cmd = '/usr/libexec/PlistBuddy -c "Add CFBundleURLTypes:0:CFBundleURLSchemes:0 string nakamapId" ' + buildpath + '/info.plist'
    os.system(cmd)

あと、Assets/BuildsフォルダはUnityに取り込まれないのでframeworkはそこに置く事にした。

2013/06/01追記

project.pbxprojのFRAMEWORK_SEARCH_PATHSを追加しないと外部フレームワークが機能しなかった。
mod_pbxproj.pyを一部修正して対応した。

調べたところ、mod_pbxproj.pyのFRAMEWORK_SEARCH_PATHS対応版もあることが解った。
https://github.com/OpenKit/openkit-unity/blob/master/Assets/Plugins/OpenKit/PostbuildScripts/mod_pbxproj.py
https://github.com/kronenthaler/mod-pbxproj/blob/master/mod_pbxproj.py

ユーザーディレクトリに入れたtmux起動したらエラーがでたので調べてみた

tmux起動時のエラーは「can't create socket: Permission denied」

調べると./tmux.cのmakesocketpathがNULLを返すのでエラーになっていた。
makesocketpathでソケットのパス(/tmp/tmux-[uid]/default)を生成するが、何故か書き込めなくなっていた。

.zshrcにalias tmux="tmux -S $HOME/opt/tmux/socket"を設定したので当面これでいいか。

バグのコードをmasterにあげてるので

りファクタ後修正せずバグコードあげてるので一応動作するリリースバージョンでブランチ切りました。

お作法メモ

前回コミットした状態に戻す
git reset --hard HEAD

git pull

git checkout -b release_20120728

git reset --hard 47985b5e42e0ed5f6fbecaf4a7219a55710cb651

# git commit -am 'release_20120728'

git push origin release_20120728

TitaniumでAndroidアプリをリリースしてみた

「Titanium Voice Of America」でtvoaと名付けたアプリをリリースしました。
https://play.google.com/store/apps/details?id=jp.otmb.tvoa

選んだ理由

題材に選んだ理由は、下記の技術が盛り込まれているので評価するのに最適と思ったので。

AndroidアプリをJavaiPhoneアプリObjective-Cでリリースしたことがある自分としては、比較的短いコードで書き上げれる点は凄く素晴らしく感じました。
実際に開発期間は一週間かからない程度。休日含めて4日くらいで作成出来ました。

コード

作成したコードはGitHubにあげてます。ライセンスは決めていない。
https://github.com/otmb/tvoa

殆ど2ファイルに書いたので500行くらいで作成となりました。# 気が向いたらリファクタしよう。。

開発環境

開発はMacでやりました。

  • OS: LionとMountain Lionの両方で動きます。
  • Xcode: 4.3 or 4.4
  • Titanium 2.1
  • 動作検証 iPhoneシュミレータ,Galaxy sII LTE

参考にした書籍

TitaniumMobile iPhone/Androidアプリ開発入門

TitaniumMobile iPhone/Androidアプリ開発入門

書籍のサンプルコード
http://www.shuwasystem.co.jp/support/7980html/3231.html

tmux.confを変更してみた

今回は、Macのターミナルで「メタキーとしてoptionキーを使用」をonにして.tmux.confに下記を設定した。

bind -n でbind-keyを必要としないショートカットが作成出来る。

# window移動
bind -n M-n next-window
bind -n M-p previous-window

# ペイン移動
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-l select-pane -R

# ペインサイズ変更
bind -n M-left resize-pane -L 5
bind -n M-down resize-pane -D 5
bind -n M-up resize-pane -U 5
bind -n M-right resize-pane -R 5

Windows7でHaskellをやってみた

Haskell Platformをダウンロード

C:\Users\[user]\AppData\Roaming\ghc\ghci.conf に下記を記述

:set editor "C:\Program Files (x86)\Notepad++\Notepad++.exe"
:cd C:/home/haskell
:set prompt "ghci> "

コマンドプロンプト立ち上げてghciと入力
すごいHaskellたのしく学ぼう!に習って三角形を求めてみた。

ghci> [ (a,b,c) | c <- [1..10],a <- [1..c], b <- [1 .. a] , a^2+b^2 == c^2]
[(4,3,5),(8,6,10)]

他やったこと、コマンドプロンプトのフォント変更
http://d.hatena.ne.jp/wwwcfe/20091003/commandprompt_font