iOS 7から変更されたAppSwitcherを使って色々やる話です。 バックグラウンド実行をつかっているアプリなどに有効。 potatotips #4, iOS_LT #5 で発表したネタです。Read less
iOS 7から変更されたAppSwitcherを使って色々やる話です。 バックグラウンド実行をつかっているアプリなどに有効。 potatotips #4, iOS_LT #5 で発表したネタです。Read less
NSInteger/ NSUInteger NSIntegerやNSUIntegerは32bit/64bit環境では異なる型として扱われる。NSIntegerの場合、32bit環境ではint、64bit環境ではlongとして扱われる。 なおarm64の処理系ではint型そのものは32bitの値として扱われる。それまでのarm7まではintもlongも同じ32bitの値として扱われていたので差がなかったのが(意外に知らない人が多い)、arm64にてlongが倍精度に変更された。 そのため、 NSInteger aValue = 100; NSLog(@"%d", aValue); 例えばこんなコードも、64bitアーキテクチャを対象に含めると警告が出てしまう(NSIntegerがlongのため、%ldを使う必要がある)。もっとも、aValueの値が32bitの範囲を超えない限り、実際に問題に
はじめに iPhone5sはA7チップが採用され、世界初の64ビットスマートフォンとして話題になりました。その話を聞いて興奮された方、そうでない方、多々いらっしゃると思いますが、私は後者です(^_^; 64ビット端末が意味する事とは!?どんなお付き合いをすればいいのか!?などなどをアプリ開発者目線でざっくばらん(独断と偏見に満ちています)にまとめてみました。 なんでこのタイミングで64ビット化したの? 64ビット化と聞いてアプリ開発者が一番想像し易いメリットはおそらく「使用できるメモリ量の上限が4GB(2GB)を超えられる」という点だと思いますが、現状まだそこまでメモリを搭載していませんし、今後発売される端末(iPhoneに限らず)にきっと大量のメモリを搭載してくるから、先攻して開発できるようにしたのかな?などと勝手に想像しています。 64ビット化の理由について他にも考察されている方がいら
先日 Go MemoというiOSアプリをリリースしました。 「あとで行く」ためのアプリ、Go Memoをリリースしました Go Memoは週末4日間くらいで作ってリリースしたアプリなのですが、こうしてスピードを出せたのは便利なライブラリのおかげです。 この記事ではGo Memoで使ったライブラリを紹介しようと思います。 便利なiOSライブラリ AFNetworking 言わずとしれた定番ライブラリ。作者の mattt さんも非常に有名です。サーバーとのHTTP通信はほとんどこれに頼っていて、NSURLSession とか自分で書いてないです。 Go Memoでは foursquare API をたたく所で利用しています。 NSDictionary *params = ...; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOp
EAIntroViewはウォークスルー画面を簡単に追加できるライブラリです。 ウォークスルー画面のページの数だけEAIntroPageインスタンスを作成します。作成したEAIntroPageインスタンスを使ってEAIntroViewインスタンスを作成し、表示したいViewに追加することでウォークスルー画面を表示できます。 表示が終了した時やページをめくった時はdelegate経由で知らせてもらえます。 ウォークスルーの1ページを構成するEAIntroPageインスタンスは以下のようにいくつか作成方法があるみたいです。 タイトル・文章・背景・タイトル画像を指定して作成 UIViewからの作成 Nibからの作成 GitHubからダウンロードできるサンプルプロジェクトは7種類のウォークスルーを確認できるようになっており、参考になるかと思います。 作成例 - (void)showIntroWith
iOS 8 Mobile Safari の変更点を WebKit Changeset から予想してみました。 主な変更は、 HTML5 API Blob URL ( new URL("http://example.com").hostname -> "example.com" ) IndexedDB CSS -webkit-filter with SVGFilter CSS JIT 古い仕様に基づく CSS Variables が削除されました HTML <img srcset> <audio autoplay> <iframe seamless> に関わるコードが削除されました <input type="file"> に関わるコードが削除されました <style scoped> に関わるコードが削除されました Shadow DOM に関わるコードが削除されました DOM Events W
GitHub や Google Group を眺めていると、実にたくさんのライブラリプロジェクトがあります。 UI に関連するものもあれば、設計を整理するのを助けてくれるものもあり、様々です。 特に、UI に関連するものは、実際に動かすとどうなるのかが気になるところ。しかし、必ずしも README にスクリーンショットがあるとは限らないのが現状です。また、スクリーンショットがあっても、操作感がわからなかったりすることもあります。 そんなあなたへ、いろいろなライブラリのサンプルを寄せ集め、実際に動く様子を手に持って触れるアプリがありますのでご紹介。 for Android: Libraries for Developers for iOS: Libraries for Developers 片っ端からライブラリを寄せ集め、デモも組み込まれているすぐれもの。ライブラリの Author やライセ
日常的なコードレビューで気をつけていることリストです。GitHub会議(仮)で発表しようと思っていたのですが、日程の都合で参加できないので、書きためておいたメモを公開します。またどこかで発表するかもしれません。 AutoLayoutにできないか AutoLayout化した方がすっきりしそうならAutoLayout化する AutoLayout化できそうなものでやっていないものは、なぜコードで実装したか質問する 例えばUITableViewCell ちゃんと理由があれば別に良い。コードの方が良いことも多い UIAppearanceで解決できないか 各クラスの中にスタイルの指定が入るより、UIAppearanceでスタイル指定を分離して別クラスに書く方がデザイナーも弄りやすくて良い 3.5インチ端末が考慮されているか レイアウトが決め打ちだとここで問題が出ることが多い 着信ステータスバーが考慮さ
この記事を書いた時の環境はこんな感じ。 環境 情報 iOS 7.0 Xcode 5.1 Date 2014/03/22 下記のそれぞれのパターンを説明します。 起動時からずっと非表示にする場合 特定の画面だけ非表示にする場合 プログラムから表示/非表示を切り替える場合 起動時からずっと非表示にする場合 最初から最後まで、ずっとフルスクリーンのアプリを作る場合はこんな感じ。 1. 『Hide during application launch』をチェック プロジェクト設定の[TARGET] - [General]にある“Deployment Info”で設定します。 これをチェックしておくと、起動画面でステータスバーが表示されなくなります。 『Hide during application launch』チェックすると、アプリ名-info.plistの中のUIStatusBarHiddenが
iOS7がリリースされて「うちのアプリもiOS7とやらに対応しなきゃならんのかね?」などと上司が言ってきたとか、It's cool. だからさっさと対応したいとか、事情は色々あると思いますが、iOS7に対応するための方法をメモしておきます。 読者とアプリの前提条件 iOSアプリが書けること iOS6以上専用アプリであること *1 XCode5が入っていること まだiOS7対応がよくわかっていないこと 分かってるならこんな記事を読む必要はない iOS7になって変化したこと 「対応するために何をしなきゃいけないのか」を理解する上で、まずはiOS7になって何が変わったのかを理解する必要があります。 ステータスバーがビューの上に表示されるようになった iOS6 iOS7 特にナビゲーションバーがある場合は、ステータスバーと統合された様に見えますね。 ナビゲーションバーも一緒に、ビューの上に被るよう
2018年の活動 iOSDC Japan 2018にて「 iOSエンジニアが知るべきProgressive Web Apps開発のエッセンス」を発表 スタートアップの技術選定とアプリケーションプラットフォーム」を投稿 バンコクに引越し🇹🇭 Frontrend Vol.12にて「 Service Workersを使ったウェブアプリのアーキテクチャ」を発表 2017年の活動 iOSDC Japan 2017にて 「React Native vs iOSエンジニア」を発表 「「try! Swift Tokyo 2017」にゴールドスポンサーとして協賛」 try! Swift Tokyo 2017 Aftershow にて 「2017年におけるObjective-Cコミュニティの動向」を発表 「Quickで体験するテストの構造化」を発表
iOS 9 における Core Image の新機能について。Apple も多用しているブラーを利用した画面遷移アニメーションの実装方法等を紹介しています。
[English version] はじめまして、LINE技術戦略室のhayaishiです。 趣味は自転車と言っていますが最近は全く乗っていません。 この記事では、LINEのiOSアプリ開発に関することをいくつかご紹介させていただこうと思います。 LINEのiOSアプリ開発環境 ソースコード管理 ソースコードはgitで管理しています。gitのリポジトリブラウザとしてGithub Enterpriseを利用しており、Githubでお馴染みのPull Requestなどを活用して開発を進めています。 また、LINEのiOSアプリのタスクについてはGithub Enterpriseとは別のチケット管理システムを利用しておりそちらのステータスと連携して開発者、QA、プランナー間の開発状況の共有を行っています。 Gitでの開発フローについて LINEのiOSアプリはgithub-flowの様に
注: 記事記載当時からライセンス形態が変わっています 「iDEP表記をADEP表記に変更」の編集リクエストは反映しましたが、コメントにもあるように諸々変わっておりますのでご注意ください。 1. iOSのライセンス体系 iOSのライセンスには以下の3種類がある。 ※ADEP(Apple Developer Enterprise Program)の取得方法については省略 https://developer.apple.com/programs/enterprise/jp/ 2. 配布方法の違い AdHocとIn-Houseの違いは以下の通り。 評価用配布(AdHoc) App Storeを介さずに、最大100台のデバイスまでアプリ配布可能。 インストールを許可するデバイスのUDIDをProvisioning Profileに登録する必要がある。 デバイス追加の都度、UDID登録、Provisi
Regional Scrum Gathering Tokyo 2015 で発表したスライドです([1C-3] 分散開発チームによるアジャイル開発実践 ~いろいろハマった!よかった)
この記事は古いものです。Auto Layoutの対応を含めると以下の記事の対応が望ましいと思います。(2014/1/25) Auto LayoutでCustom Viewを作る Auto LayoutでCustom TableViewCellを作る また下記の記事内容のようにxibからロードしてCustom Viewをインスタンス化するより、上記記事のようにCustom Viewクラスの初期化メソッドでxibをロードしSubviewとしてaddする方が良いと思います。理由は他のxibやstoryboardでCustom Viewを配置できるようになるからです。この記事の方法ではプログラムからしかCustom Viewを生成できないと思います。Auto Layoutを駆使できるようになると、プログラムからViewを配置する機会は減り、Interface BuilderでCustomViewも
iOSのテストってぶっちゃけおざなりだったわけですが、サーバサイドはちゃんとテスト書いてるのにクライアントサイドだけ書かないとだんだん品質が不安になってくるわけです。 これまでも多少なりとも努力してきたつもりですが、iOSの場合、テスト書いといて良かったみたいなケースがこれまでまるでなくて、むしろAPIの動作確認のため書くみたいな。個人的に非常にしょぼい状況だったわけです。 ただXcode5でTest周りが強化され、かつ個人的にしっくり来るテストフレームワークの組み合わせが見つかったので、これでテンション上がってバリバリテスト書ける気がしてきたのでまとめてみました。 テンション上がらないと何にもできないっすもんね! KIFって あのカード決済のSquareが自社向けに作ったテストフレームワークです。 https://github.com/kif-framework/KIF 特徴としては以下
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く