多少挙動が怪しいアプリもあるが、今のところ特に大きな問題は出ていない。
動作速度もiOS8.4に比べて遅くなったとは思えない。
目玉機能のSplit ViewやSlide Overといった機能は最近のiPad、iPhoneでしか使えないんだね。うちのでは使えなくて残念。
ま、そりゃいいのだが、自作アプリで動作がおかしい物を発見。
多言語の判断が変わった
多言語対応しているSkyReporterで、コード内で言語別にメッセージを変えている部分が誤動作して、英語のメッセージが出るようになってしまった。これは言語環境を調べる関数でAPIが"ja"じゃなくて"ja-JP"とかを返すようになったためだという。
こんなとこいちいち変えるなよ! と思う。
iOS8以前にも対応するには文字列の先頭が"ja"かどうかで判断した方がいいようだ。
後でアップデートせねば。
Swiftの仕様が少し変わった模様
自作のSwiftプロジェクトをXcode7で開いたところ、「コードの書き方が変更になったからコンバートしちゃっていい?」ってメッセージが出た。なんか、Swift 2.0にバージョンアップされたんだとか。
どこがどうコンバートされるのかは確認できる。
たとえばObjective-CのNSLogにあたるprintln()がprint()関数になった模様。
他にもコンバートできなかった箇所がエラーになったり。optionalの関係で、配列にしまうUIImageに!を付けてやったら通った。
optionalは今でもまだよくわかってないのに、また仕様が変わったら困るな。
そうでなくても手持ちの参考書と現在のSwiftの仕様が違ってきている。
ディレクトリが見つからないと出る
Xcodeで開いたら以下のWarningが出て、消えない。Directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/Developer/Library/Frameworks'
iPhoneシミュレータのiOS9.0のSDKのディレクトリが見つかんねーぞ、こら、ってことなんだろうけど、俺何もしてないぞ。
プロジェクトの中のBuild Settings、「アプリ名Tests」の中のSerch PathsのFramework Serch Pathsの中を消せばいいようだ。
左側のコラムにPROJECTとTARGETSがあって、TARGETSの中にさらにアプリ名とアプリ名Testsというのがあり、それぞれにSearch PathsのFramework Search Pathsという設定があるので間違えないように。
文字で書くより以下の画像を見たほうがわかりやすかろう。
0 件のコメント:
コメントを投稿