ブログランキング・にほんブログ村へ


iPhone/iPad用潜水艦ゲームアプリ ソナーエコー iTunesにて公開中

2014年10月31日

[iOS]xcode6細かい変更点

xcode6 で初めて新規プロジェクトを作り始めた。
今頃‥って感じではあるが。

で、気づいた細かいことをメモ。
大きい変更箇所はあちこちのブログに書かれているだろうから割愛。

1)
どうせ本体はObjective-c++になるのだけど、どうせだからrootだけでもswiftで‥と思ったら、これ対象osが7以上じゃないとダメとか。6入れたいんで当面無理って判明。

2)
ARCのoff設定表記がまた変わったみたい。
Build Settings > Apple LLVM6.0 - Language - Objective-c > CLANG_ENABLE_OBJC_ARC
今までARCはAuto Release なんちゃらとフルスペルだったのでしばらく探してしまった。

3)
objective-cで bool true falseがエラーになるようになった。
objective-c++では問題無し。

typedef int bool;
enum {
true=1,
false=0,
};

冒頭でこんな感じに書いてやると通った。

4)
これはもうちょっと前からなのだが。
64bitでの long が 8バイト長になってる。ググると内容的には32bitsまでとかいろいろ出てくるけど
シリアライザとかで

long a = *( ( long const* )ps ); ps += 4;

とかやってると痛い目にあう。

int sz = sizeof( long );

で8が帰ってくるので間違いない。

とりあえず
a &= 0xfffffff;

として逃れた。

ひょっとすると Objective-c++だけの仕様かもしれない。

5)
なんだか宣言なしで書いてたものがあれこれエラーになる。

まずfreeがとおらなくて驚いた。
よくみてみたら自分が宣言してない。宣言なしでどうして通ってたのか不思議。しかもmallocは通ってる。

stdlib.hのincludeでok。

あとGLfloatとかもエラーに。

よくわかんないんで
#import <UIKit/UIKit.h>
#import <GLKit/GLKit.h>
としたら通った。

今までどこかでデフォルトヘッダ宣言みたいのがあったのがなくなったということかもしれない。
xcode6で作った新規プロジェクトだけで起きるので。
タグ:iOS Xcode
posted by みこあいさ at 11:55| iOS開発