面白きことは良きことなり

拙く未熟なiOSエンジニアの備忘録と戯言

Xcode

El Captainでpodsが使えない

El Captainでpodsが使えないとかなんとか。 自分はpods嫌いだし、極力Frameworkも使いたくない人だけど、使わざるを得ないことがあるかもしれないのでリンクだけ貼っておくhanhan's blog - El Capitanでpodが使えなくなったら試すこと

UIColorの設定で色が正常に表示されなかった現象

ViewControllerのbackgroundColorに色設定しようとしたのに、何故か真っ暗になって困った話 viewWillAppear(_:)でUIColorでCGFloat(0xNN / 0xMM)みたいに指定して色設定しているのに、実際に表示せたら画面が黒一色だった。 print文で吐かせて数値みたら下記…

使いにくいメソッドの再定義

そのままだと使いにくい、使えないので拡張やオーバライドして使ってるメソッド ローカライズの文字列呼び出す時、"commnet"は基本空文字だし、呼び出しが長くなるのはよろしくないのでこんな感じで定義してる func EXLocalizeString(key: String) -> String…

Localizeで苦戦した備忘録

知人らと少人数チームでアプリの開発をしているのだけど、英語でしかリリース予定ないとは言え今後を見据えて勉強がてらLocalizeをやろうとしたら嵌った。色々やり方とか調べたり、過去関わったプロジェクトを思い出してこんなファイルがあって…とか試行錯誤…

2016/06/08 備忘録

バグの原因がわからないなーと少し嵌ったところ。sizeWithAttributes:の挙動がiOS7と8以降で異なっていた。 正直もうiOS7のサポートも切られるのも普通になりつつあるから、今後出くわすことはないと思うけど、残しておく。前提:NSAttributeString型で文字…

2016/06/03 備忘録

Swift使ってて今更ながら知ったこと。 CGRectがsizeを挟まずにwidthとheightを取ってこれる self.view.frame.size.width が self.view.frame.width になるなんて…なんて楽なんだ。アプリの登録は済ませ、1度も公開していない状態でStoreのURLを知りたいとい…

Static Library(frameworkや.aファイル)が正常に動作しない時に気をつけること

githubからframeworkのプロジェクトをDLしてきて使い方を確認すると、framework等が生成されずプロジェクト毎取り込んでビルドをさせようとするframeworkによく遭遇する。 個人的にプロジェクトを取り込むと自分のプロジェクトとframeworkのプロジェクトのビ…

guard構文の知られていない記述

Swift2.0から導入されたnilチェックとアンラップが同時に行えるguard構文のよくある形は下記書き方だと思う。 guard let fuga = hoge else { return } ただいつも書いてて思うのが、hogeをアンラップするのに新しい変数名を考えなければいけないことが気にな…

SwiftとObjective-Cの相互利用と注意点

今であれば新規プロジェクトはSwiftで作られるだろうし、既存プロジェクトであればObjectie-Cで作られており、メンテナンスもObjective-Cで行われるのが大半だと思う。たまにあるであろう、SwiftとObjective-Cの共存するプロジェクトで相互利用するための方…

frameworkの作成や確認で使うコマンド

自分でframeworkを作成することもあれば、githubからDLしてきたframeworkプロジェクトをビルドして生成することもあると思う。そんな時によく使うであろうコマンドを記載する 以下、ターミナルでのコマンド frameworkに含まれるarchitectureを確認する user$…

2016/05/30 備忘録

クラッシュログをsymbolicateしてメモリのアドレスをアプリのクラスやメソッド名に変換してクラッシュの原因を解析するのは知っていたけど、 クラッシュログがなくても、クラッシュ時のexeptionで吐き出されるCallStackのメモリアドレスだけでもdSYMがあれば…

2016/05/18 備忘録

カメラで使うImagePickerでクラッシュするという報告が上がっていた。 どうも原因を調べると、ピンチアウトやピンチインでズーム等をした際に表示されるzoom sliderが出ている時に、 カメラ画面を閉じるとクラッシュすることがあるらしい。閉じる処理を遅ら…

Swiftのライブラリサイト「Swift Modules」

仕事では、いまだそんなに触れる機会が訪れないだよなーSwiftは。 あと個人的にライブラリって継続してサポートする保証がないから個人的にはあまり好きじゃない。アプリを作っておしまい!サポートは新iOSとかしないよ!みたいな作りっぱなしであれば その…

WebInspectorの使用できる条件と手順

意外と知らない人がいるのか、Safari上で動いているものしかWebInspectorが使えないと思ってる人がいる模様。 UIWebViewやWKWebViewを使用しているアプリでもWebInspectorが使えるので、条件や手順を記しておく。 操作手順は脳内で思い出しながら書いている…

Appleの審査時間を短縮するための手法

Appleの申請は以前なら1週間が目安だったが、現在は2日程度に短縮された。 それでも少しでも申請時間を短縮するためのテクニックを記す。 Appleの申請で新規アプリの申請が1番時間がかかる 審査の内容等はAppleのブラックボックスなので、不確かだが新規アプ…

明示的にアプリのタスクを切った時のsilent pushの振る舞い

iOSのSilent Pushは、どんな状況でも使えるわけではないと聞いたので その内容を記載しておく。 ユーザが明示的にアプリのタスクを切った時、silent pushは動作しなくなるとのこと。 そのため、それを考慮した作りにする必要があるらしい。

Launch Screen.storyboardで画像が表示されなくなる問題

Launch Screen.storyboardにimageViewを乗せて画像名を直指定するとタイミングは不明だけど急に画像が表示されなくなることがある。しかも高頻度で。 ネットで見ると同様に遭遇した人の解決策は画像のファイル名をリネームして、storyboard上で再指定する。 …