iOS

UIView の Swipe イベントは実行して Tap は後ろの View に流したいけど出来なさそう

とある View の上に透明な UIView を載せて、 Swipe だったら透明な View でイベントをハンドリングして Tap だったら後ろの View にスルーしようとしたけど出来なさそうだった。 どういうことか こういう View があって、右にスワイプしたら数値を200にして…

fastlane deliver を使ってコマンド1発で Waiting For Review までもっていく

$ bundle exec fastlane release このコマンドを叩くだけでリリースビルド、iTunesConnect へバイナリ提出、IDFA 情報など入力して審査待ちの状態まで持っていけるようにした。 Deliverfile こんな感じに書いてる。 app_identifier "com.myapp" username "ap…

個人アプリを Xcode9 Swift4 対応した時にやったこと

個人アプリ2つを Xcode9 GM で動くようにした。 これは私のアプリの場合なので、違うプロジェクトでは不要なことや、他にもっとやらないといけないことがあると思う。 やったこと 1. Xcode9 DL Xcode - Apple Developer から DL してインストール。 Xcode8も…

UITabBar の背景をすりガラスのまま Dark にする

普通の UITabBar は明るいすりガラスだけど、これを UIBlurEffect(style: .dark) と同じように暗くしたい。 Light Dark override func viewDidLoad() { super.viewDidLoad() tabBar.backgroundImage = UIImage() let dummy = UIToolbar(frame: tabBar.bounds…

fastlane pem で Push 通知に必要な p12 ファイルを生成する

iOS 用の Push 通知 証明書を生成したい。 真心を込めて手動で生成することもできるが、ここでは fastlane pem でコマンドで生成する。 fastlane pem fastlane/pem at master · fastlane/fastlane 詳細は上の README みればやり方書いてる。 gem install fas…

xcconfig を使い本体アプリと Embedded Framework を同じ環境設定でビルドする

本体アプリを Build した時に、本体アプリの CONFIGURATION を Embedded Framework 側に渡したい。 本体アプリを Debug Build Embedded Framework も Debug Build 本体アプリを Release Build Embedded Framework も Release Build というように、本体アプリ…

TodayViewController の viewDidLoad が呼ばれるタイミングについて

iOS の TodayExtension を実装していて、 TodayViewController の viewDidLoad が走るタイミングが最初はわからず苦労した。 viewDidLoad が呼ばれるタイミング 画面に表示されたタイミングで ほぼ毎回 viewDidLoad が呼ばれる。 TodayExtension を 10 こく…

EdTech Engineer Meetup #1 で「学校の iOS 端末事情」について話した #edtech_ja

Education×Technolog 業界の3社 Classi, LITALICO, Studyplus が集まって会社紹介やらパネルディスカッションやら LT やら懇親会しましょう、という会で LT してきた。 edtechem.connpass.com Lightning Talks 教育業界、というか BtoB 業界のモバイルアプリ…

Firebase, Google Analytics, Fabric, Apple App Analytics の個人的使い分け

昨今モバイル界隈ではアクセス解析に色々なサービスがあるが、それぞれにメリット/デメリットがあるため、複数併用するようにしている。4 つのサービスの個人的使い分けについて、iOS エンジニア視点で雑に書いていく。 なお、どれも無料枠での利用とする。 …

Swift2 から Swift3 への移行がだるすぎて諦めた

1年前くらいにリリースしたアプリ があるのだが、動かなくなったというレビューがきたので修正しようと思ったのだがだるすぎる。 何がだるいかというと、 Swift3への対応が一番だるい。ライブラリを更新して、マイグレーションして… ってやらないといけない…

古い iOS アプリが Apple に削除された

www.itmedia.co.jp これの対象になったようで、4年くらい前にリリースしたけど全くアップデートしていなかったアプリが削除された。 削除されたアプリは Anison Tube というやつで、AppStore ではもう見れなくなっている。 作ったアプリがアプリストアに14個…

Xcode で A valid provisioning profile for this executable was not found. が出た時の対処法

実機インストールしようとしたらなんじゃこりゃ、というエラーが出た。ググってみると iPad 側にインストールされた証明書が悪い、などと出たのだが自分の場合はどれも違った。 Debug ビルドなのに Adhoc 証明書を使おうとしてた のが原因っぽい。 ダメな例 …

iOS Simulator で壁紙を設定する

iOS

実機 iPhone だと 設定 > 壁紙 から壁紙を変更できるが、シミュレータだと壁紙や Wallpaper の変更画面が表示されない。 しかし、写真アプリからなら壁紙設定画面にたどり着ける。 手順としては以下。 Photos(写真) アプリを開く 壁紙にしたい画像を選ぶ Act…

iTunes Connect の売り上げとトレンドにある「デスクトップ」は何者なのか

iOS 向けにしかアプリをリリースしていないのに、 デスクトップ というデバイスでのダウンロードがある。 デスクトップとは stackoverflow.com どうやら、 PC の iTunes からダウンロードした時はデスクトップとしてカウントされるらしい。どこ経由でダウン…

「モバイルアプリ開発エキスパート養成読本」を読んだ

モバイルアプリ開発エキスパート養成読本 (Software Design plus)作者: 山戸茂樹,坂田晃一,黒川洋,藤田琢磨,山田航,田坂和暢,熊谷知子,森本利博,坂本和大,小形昌樹,鈴木大貴,志甫侑紀出版社/メーカー: 技術評論社発売日: 2017/04/11メディア: 大型本この商品…

RxSwift で NotificationCenter を使う

Notification を送る側 let name = Notification.Name("notification") NotificationCenter.default.post(name: name, object: nil, userInfo: ["key": "value"]) Notifiactin を受ける側 disposeBag があるので購読やめるとかしないでよい。 NotificationCe…

iOS Test Night #3 でカバレッジの計測について話してきた

カバレッジについて話したが、カバレッジが高けりゃいいわけじゃなくて、計算ロジックとかは絶対に書いた方がいいけどそうではないところは書くメリット小さいかなと思っている。 とはいえテストがないと影響範囲読めないし、「俺たちが書くコードは完璧だか…

iOS 10.3 から、アンインストールすると Keychain が削除される → されませんでした

iOS

顛末 iOS 10.3 beta でアンインストールすると keychain が削除される問題が発見される これはバグか?という議論がなされる中、 Apple スタッフから 「これは仕様だ」とコメントが入る しかし iOS 10.3 beta7 でアンインストールしても keychain から消えな…

fastlane の increment_build_number で Cannot find が発生した時の対処法

エラー内容 fastlane で increment_build_number を使ったら以下のようにエラーが出て increment されなかった。 [14:33:08]: ------------------------------------ [14:33:08]: --- Step: increment_build_number --- [14:33:08]: -----------------------…

iPad 向けアプリで iTunesConnect 提出時に ITMS-90029 が発生した時の対処法

設定 iPad 向けになってる。 iTunesConnect に申請してみる iPad 向けにしてるのに iphone の storyboard がウンヌンって言われてる。 Info.plist 見てみる 邪魔そうなのがいる… 👀 消してみる もう一回申請すると エラーが消えました 🙌

Swift 実践入門 を読んだ

Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)作者: 石川洋資,西山勇世出版社/メーカー: 技術評論社発売日: 2017/02/07メディア: 単行本(ソフトカバー)この商品を含むブログを見る 全体感想 良い本だった、書名になっている…

特定の UITableViewCell だけ separator の線消したい

tableView で この cell だけ separator 消したいよ〜 という時の方法。 ググると、全ての tableView の separator 消して追加したいやつだけ追加するコード書こうとか、全部の tableView の線を消す方法とか出るけど、特定の cell だけ separator 消す とい…

RxSwift をやる前にちゃんと Observer パターンを学ぶ

RxSwift やるぞ!と思ったはいいものの、ちゃんと Observer パターンを学んだことがなかったので Swift でゼロから書いてみる。 Observer パターン Observer パターン - デザインパターン入門 - IT専科 観察者が何かを監視していて、その監視対象に更新があ…

Google Analytics と Firebase を同時に使うとき、 1 つの GoogleService-Info.plist で管理する

GoogleService-Info.plist 何も考えずに Google Analytics と Firebase をアプリに導入しようとすると、それぞれ別で Project を作成して、GoogleService-Info.plist も 2 つ生まれてしまう。 2 つあったとしても読み込む plist はそれぞれ設定できるので問…

WKWebView で target = _blank と POST の組み合わせ注意

target = _blank かつ POST リクエストの際に画面が表示されないバグを出してしまったので気をつけないといけない。 WKWebViewでtarget="_blank"なリンクが開かない時の対処法 - Qiita のコメント欄で注意喚起がされている。 target="_blank" を強引にメイン…

Swiftの文法などのメモ

詳細! Swift iPhoneアプリ開発 入門ノート Swift 1.1+Xcode 6.1+iOS 8.1対応作者: 大重美幸出版社/メーカー: ソーテック社発売日: 2014/12/13メディア: 単行本この商品を含むブログ (2件) を見る 最近Swiftの勉強をしていて、詳細!Swiftを読みながらメモを書…