2013年2月19日火曜日

[iOS]This bundle is invalid.

This bundle is invalid. The key CFBundleVersion in the info.plist file must contain a higher version than that of the previously uploaded version.

iTunesConnectに審査提出中にOrganaizerで上記のエラーが発生した。

CFBundleVersionが前のバージョンより新しくしてください、
ってことなんだけど、1.1.0から1.1.1でもちろん新しくなってる。

原因は
plistからBundle versionが抜けていた。

Target>SummaryのVersionって修正してもplistに反映されないのね。

2013年2月18日月曜日

[iOS]NSPersistentStoreCoordinatorでエラー


Coredataを使用中に
persistentStoreCoordinator_ = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
でエラーを吐いた。
persistentStoreCoordinator_
を生成できないらしい。

現象は
http://stackoverflow.com/questions/4199466/core-data-crash-in-initwithmanagedobjectmodel
と同じで、appname.xcdatamodeldのファイルがおかしいらしい

appname.xcdatamodeldがxCode上から開けない状態だったので、
一度xCode上から削除して再度インポートするとエラーは消えた。

他にもxcdatamodeldが前のバージョンと違ってもこのエラーらしいね。

2013年2月8日金曜日

[iOS]iPadのサイズとか

iPhoneサイズ
320x480
640x960
640x1136

ステータスバーを省いたサイズ
320x460
640x620
640x1096

iPad、iPadMiniサイズ
Portrait 768 x 1024
Landscape 1024 x 768

ステータスバーを省いたサイズ
Portrait 768 x 1004
Landscape 1024 x 748


iPad(Retina)サイズ
Portrait 1536 x 2048
Landscape 2048 x 1536

ステータスバーを省いたサイズ
Portrait 1536 x 2008
Landscape 2048 x 1496


2013年1月23日水曜日

[AndroidSDK]MapViewが表示されない

AndroidSDKにてMapViewことGoogle Map APIが動作しない事態になった。
MapView自体は表示されているが、地形データ等のダウンローができない状態。

エラーログには

IOException processing: 26
java.io.IOException: Server returned: 3

と表示された。

・ソース上のミスをチェック、、無し
・Google MAP API Keyは正しいか、、、正しい

少し考えこんで署名が無いことに気づいた。
Google MAP API Keyはアプリ署名に紐付けられているので、
署名付きアプリとしてAPKを書き出したところ表示された。


2013年1月21日月曜日

[iOS]iPhoneでゲームを作る方法

ゲームを作ることになったので、iPhoneでゲームを作る方法を考えてみる。
現在4通りほど考えられる。


CoreAnimetion
UIViewとCGContextRefなどを使う方法
ゲームのために作られてるわけじゃないから複雑なことを実装するとコケる可能性がある

OpenGL1.1/2.0
パフォーマンスが良い3D/2Dエンジン、本格的に作るならこっちだろう
習得に時間がかかりそうだ、1週間やそこらで十分に扱うのは難しいだろう

強火で進め
http://d.hatena.ne.jp/nakamura001/20080918/1221738923

OpenGL1.1リファレンス
http://www.khronos.org/opengles/sdk/1.1/docs/man/

cocos2d
iOS向き2Dゲームワークフレーム
実績が無数にある、修得も簡単
中身はOpenGLES1.1

http://www.cocos2d-iphone.org/

corona
モバイル向きワークフレーム
重力エンジンなどがある、修得も比較的簡単

http://jp.anscamobile.com/corona/

salad
コード不要でGUIベースで簡単なゲームを作成する

http://gamesalad.com/

2012年12月27日木曜日

[iOS]iPhone、iPadの画面サイズ、フレームサイズを取得する


iOSの画面サイズは取得にくい、特に特にステータスバーやツールバーの存在がやっかい。

//現在のビューのサイズ、ツールバーやステータスバーのサイズは引かれる
//iPhone4でステータスバー、ナビゲーションバー、ステータスバーがあるとき、heightは480-20-44-44になる
self.view.frame.size.width
self.view.frame.size.height

//現在の端末のスクリーンサイズ
//iPhone4ではheight480、iPhone5ではheight568になる
[[UIScreen mainScreen] bounds].size.width
[[UIScreen mainScreen] bounds].size.height

//現在の端末のスクリーンサイズでステータスバー領域を含む
//iPhone4ではheight460、iPhone5ではheight548になる
[[UIScreen mainScreen] mainScreen].size.width
[[UIScreen mainScreen] mainScreen].size.height

問題になるのはナビゲーションバーを非表示のビューからpushしたビューで
viewDidLoadで
ナビゲーションバーを消しても
self.navigationController.navigationBarHidden = NO;
self.view.frame.size.heightは460になるということ

正確なサイズを知りたい時は
viewDidLoadでナビゲーションバーのON/OFFをして
viewDidAppearで座標を取得すること

2012年12月25日火曜日

[iOS]ld: duplicate symbol

XCode4.5.2のビルドで以下のエラーが発生した。


duplicate symbol _OBJC_CLASS_$_PhotoViewController in:
    /Users/abrain/Library/Developer/Xcode/DerivedData/hogehoge-/Build/Intermediates/hogehoge.build/Debug-iphonesimulator/hogehoge.build/Objects-normal/i386/hogehogeAppDelegate.o
    /Users/abrain/Library/Developer/Xcode/DerivedData/hogehoge/Build/Intermediates/hogehoge.build/Debug-iphonesimulator/hogehoge.build/Objects-normal/i386/RootViewController.o
ld: 88 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

実際はもっと長いエラーだった。
duplicate symbol(PhotoViewControllerのシンボルが重複しています)
つまりクラス定義を2重にやってるらしいんだが、PhotoViewControllerに悪い場所はない。

いろいろやったところPhotoViewControllerを呼び出しているところが、
#import "PhotoViewController.m"
となっていた、
PhotoViewController.mからヘッダーを呼び出してるので2重定義となっている。
#import "PhotoViewController.h"
と修正してビルド完了。

XCodeうんうんじゃなくてC言語共通のエラーね。
コード補完で間違って.mを選択してしまったようだ。