2014年6月30日月曜日

[iOS]UISliderとCGAffineTransform

UISliderでCGAffineTransformを使用するとつまみがタップできなくなるタイミングがある
再現率は100%ではない
ちょっと調べてみたが対策法はなさそうなのでUIScrollViewなどで代用するしかなさそうだ

2014年5月20日火曜日

[Unity]Unityをはじめて触ってみた時のメモ

3日ほどUnityのiOS、Androidアプリを作ってみて、
コイン落としのようなアプリができたので使用感とハマったポイントを書き出してみる

・公式の日本語ドキュメントは豊富

・Assetを使うと時間を短縮できる

・言語は3つある
Javascript
チュートリアルや書籍の多くがJavascriptで書かれているが
UnityScriptと呼ばれるぐらいHTMLで使用するJavascriptと離れているのでちょっと使いにくい

Boo
Pythonっぽい言語になっている、これで書いている人は少ないようだ

C#
ドキュメントも豊富で結局C#を選択した

・全てのassetやサンプルプログラムがスマホ用に最適化されているわけではない

Unityでは複数のプラットフォームに対応するために
[Project Setting]>[Input]から呼び出せる入力用Wrapperが標準で用意されているために
コントローラー、ジョイスティックやキーボードの入力を簡単に設定できる
例、プレイヤーが右に移動するスプリクトを組むだけで
コントローラー右、ジョイスティックを右に傾ける、キーボード"D"キー
の3つが対応される

ただしタッチパネルの場合は例外でコードを入力する必要がある。
function Update () {
 for (var touch : Touch in Input.touches) {
  //TODO touch event
 }
}

タッチイベント用のAssetも豊富にある
オススメはこちら

TouchScript

タップ、ドラッグ、ロングタップなどに対応
スマホ以外にもWindows系列にも対応している
サンプルの動作が自然な感じなので作成するアプリに役立ちそう

2014年4月21日月曜日

[AndroidSDK]エラー"R cannot be resolved to a variable"

"R cannot be resolved to a variable"というエラーが出る場合の対処方
Rファイルが更新されてないのが原因っぽいが、そうでも無いこともあって意味不明

以下は経験則に基づいた対処法

・Clean>Build
一番お手軽だけど解決されないことが多い

・eclipseを終了>プロジェクトフォルダ内のbinとgenを削除>eclipse起動
これで解決することが結構ある

・エラーの起こるソースに"import com.example.android.R;"を追加する
プロジェクトを作って1回目のBuild時にこれを入れるとeclipseを再起動しなくてすむ

・↑の逆で「エラーの起こるソースの"import com.example.android.R;"を外す

--NEW--
・エラーの起こるソースのパッケージ名を変更>エラーが出たままなのでパッケージ名を戻す
でなぜかエラーがとれたことがあった


・Android2.1など古い段階でに作られたプロジェクトに起こる可能性が高いような気がする
新しいAndroidSDKで新規にプロジェクトを作成し必要なデータのみコピーしたところ発生しなくなった

2014年4月19日土曜日

[iOS]Xcode5.1でアプリ申請時に出たエラー

Could not find any content hosted eligible apps.

iTunesConnectで設定したIn-App Purchaseがappleのホスト設定になっていない(自前サーバーからコンテンツをダウンロードするようになっている)
In-App Purchaseの設定で"Hosting Content with Apple"をYESにすることで解消



ERROR ITMS-9000 : "Invalid Image Paht - No image found at the path 
referenced under key 'CFBundleIcons': 'icon-Small' at SoftwareAssets/SonftwareAsset(MZItemspSoftwareAssetPackeage)

ERROR ITMS-9000のエラーは検索すると色々な原因があるらしい、
今回はアイコン関係のエラーでicon-Smallなどのファイルパスが見つからないとのこと
もちもん設定はしてあるが認識できてない、元のプロジェクトがXcode3またはXcode4で作成した事が原因っぽい

対策として
[app-name]-Info.plistから
Icon files、Icon files (iOS-5)、CFBundleIcons~ipadなどのicon関係のファイルをすべて削除
プロジェクト設定のターゲットからGeneral>App Iconsの項目から"Use Asset Catalog"をクリック
Asset CatalogはXcode5から入った機能で、スプラッシュやアイコンの設定がGUIで分かるようになる便利機能
プロジェクトにImages.xcassetsが加わるので選択する
見たまま表示上のサイズのアイコンをドラッグアンドドロップで完了

2014年4月18日金曜日

[iOS]XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

というエラーが出た
調べてみるといろいろな原因があるようだが
今回の原因はソースコードが不足、インポートしたモジュールのソースコードが赤マークになっていた。

2014年4月17日木曜日

[iOS]Memory Leak

UIViewをLeakさせた状態 1つのリークだけでは無く複数でる リークは必ず検出されるとは限らないみたい、

下記はUIViewをLeakさせた状態

2014年4月9日水曜日

[iOS]1つの画像からretina対応、非対応の画像を作る

NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"image_file" ofType:@"png"];
UIImage *image = [[UIImage alloc] initWithContentsOfFile:imageFilePath];
//resizeImageがRetina対応の画像となる
UIImage *resizeImage = [UIImage imageWithCGImage:image.CGImage scale:2.0 orientation:UIImageOrientationUp];