iOS9対応
iOS9対応で困った事のメモです。
誰かの役に立てば幸いです。
①<トラブル>Xcode7ではシミュレーターでは動くものの、実機で動作を確認しようとするとリンカーエラーが出ました。
Xcodeのバージョンアップ以外も疑わしく、いろいろ試しましたが最後はこのページの対策で逃げました。あまり良い方法かはわかりませんがとりあえず。
②<トラブル>NSLocalが変わっており、日本語対応が正確にできなかた。
jaがもう少し区分けされたようです。(ja-USなどになってます)
③<トラブル>Pinがカスタマイズできていない。
デフォルトのPinではなくアイコンで置き換えていましたが、シミュレーターで動作させると置き換えられなくなりました。
<対策>
MKPinAnnotationViewを使っていましたが、MKAnnotationViewに全て変えました。
UISegmentedControlの追加とか削除とか
UISegmentedControlを追加したり削除したりのまとめです
追加はaddsubviewで簡単にできるのですが、追加したものが存在するのか?またはどう削除すればいいのかをまとめました。
①存在するか?
②削除方法
mtFlash | [Objective-C] UIViewにaddSubviewしたものを削除する方法
でもただ消すのは寂しいので動かしてから消しました
③Viewを動かす方法
まだまだ発展途中です。
Scroll時にNavigationBarを非表示にする方法
画面を上限にスクロールする時に、下にスクロールする時はナビゲーションバーを非表示にし、上にスクロールすると表示するようにしました。
いろいろ調べ、UIScrollのdelegateで対応したのですが
self.navigationController.hidesBarsOnSwipe = true;
と書くだけでナビゲーションバーが綺麗に表示/非表示してくれました。
こういうのはどう調べるといいのか、いつも迷ってしまいます。
実現方法は様々ですが、知識の無さを痛感します。
Google analytics シミュレータや自分のiPhoneアプリからのアクセスを除外する
今日もプログラミングの日
Google analyticsでアプリのアクセスを分析する人も多いと思います
その中で特に開発中やデバッグ中には自分のアクセスを除外したい人も多いと思います。
Googleで調べましたがサイト運営の対応でフィルタリングを設定する内容が多そうです。
例えばこのような対応です。↓
自分の使用を除外するにはいろいろなやり方がありますが、私はiphoneとipad、Wifi、屋外とあるため#ifdefを使用しました。
例えばこれ↓
#ifdef 定義(例えばDebug)
//ここにGoogle analyticsのコードを記入
#endif
Debugとせずに、ヘッダーファイルを使って自ら定義しても良いです。
すべての箇所でそのヘッダーファイルを読み込めば一元管理で定義すればカウントされ
定義しない場合はカウントされ無くなります。
これでアナリティクスに影響無くアクセスする事ができます。
tableViewがiPadで表示されない
今日はプログラミングの日
近くの美術館アプリはユニバーサルで動くように配布しているのでシミュレータを使い、iPhone各種の動作を確認しています。
いつものようにiPhone5/5s/6/6sと動作確認していると、なぜかiPadでtableViewが表示されませんでした。(特に固まったりも無く、ただの白紙になってしまいました)
いろいろ触っていると、結果storyboardのwとhがanyになっている事がinstallされていました。(画像右下)
iPadで動かすためにはany any
iPhoneで動かすためにはCompact anyにすると動作しました。
(ユニバーサルなので両方チェックしています)
正しい答えかわかりませんが…とりあえず動いたという事で。
ご報告まで。