読者です 読者をやめる 読者になる 読者になる

カッパでも分かるiOSアプリゲーム開発

カッパがひたすらゲーム制作に関することを書くブログです。Railsに関するTipsもたまにまとめてます。

Xcode 7.1 にアップデート → swift2.0 対応で注意するべきこと  ( iOS9 での Nend広告とか)

スポンサードリンク

f:id:InvokeTwoA:20150917161818p:plain

f:id:InvokeTwoA:20151023183618p:plain「そろそろ Xcode を 7系にあげようと思うんだ」
f:id:InvokeTwoA:20151009145746p:plain「ほ、本気かよ団長。下手すれば世の筋もの全部敵に回してしまうぜ……」
f:id:InvokeTwoA:20151023183618p:plain「Xcode7系がリリースされたのは2015年9月17日。もう一ヶ月も経ったんだし大丈夫だろう」

……そう思っていた時期がカッパにもありました。

Xcode のアップデートするぞ!!

f:id:InvokeTwoA:20151023183618p:plain 三┏( ^o^)┛ さっそくアップデートだ!!

OS X 10.0.5 以上が必要です

\(^o^)/  まずは本体のアップデートから始めるか。

「このMacについて」→「ソフトウェア・アップデート」

30分ほど時間かかったけど無事にアップデート完了。
Xcode のバージョンもここで上げる事ができた。

Xcode 起動時に、swift2.0 の文法に自動で convert してくれる

f:id:InvokeTwoA:20151028195451p:plain

Xcode を起動してProject を開くと上記スクショのような画面がでてくる。

迷わず Convert を選択。

Errorが起きた箇所

基本はConvertで全てうまくやってくれるが、下記の場所がエラーになった。

  • ! を入れろ(今までは曖昧だったところが許されなくなった)
  • ? をなくせ

これらは基本的に指示に従ってれば治るので楽。一番苦労したのは下記の点

libNendAd.a(NADInterstitialWebView.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64

build setting で Enable Bitcode の箇所を YESからNOに変更

http通信だとエラーになる

 App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

自分の場合は Nand API を使ってたのでその部分が引っかかってしまった。

非推奨な方法だけどinfo.plist に NSAppTransportSecurity を追加し Allow Arbitrary Loads YES にすれば通信はできるようになる。

うーん、将来的には Nand API のバージョンアップとかで対応してくれるようになるのかなぁ

実機に転送時にエラー発生

A valid provisioning profile for this executable was not found

f:id:InvokeTwoA:20151023183618p:plain ( ゚д゚ ) なにぃ

とりあえず https://developer.apple.com/account/ios/profile/profileList.action に行き証明書のファイルなどを確認。
証明書関係はいつも複雑でまいる……
けど今回は試行錯誤してるうちに Xcode が「俺がうまい事やってあげようか?」と言ってくれて助かった。



以上で Xcode のバージョンアップ完了。
つまった箇所は3箇所くらいだけど、なんやかんやで時間かかってしまった。