フェンリル

Developer's Blog

iPhone 開発 アーカイブ

iOS11 – DepthAPI と OpenGL ES を組み合わせて被写界深度エフェクトをかけてみた

こんにちは。アプリケーション共同開発部エンジニアの浪花です。

iOS11 が提供されて5ヶ月が経過しようとしていますが、個人のアプリや日々の業務で新機能を使った開発が出来ていますでしょうか。

今回 iOS11 で提供されたものの中で Depth API に興味があり OpenGL ES と組み合わせて被写界深度エフェクトをかける簡単なアプリを作成したので紹介したいと思います。

続きを読む

「Mobile Act Osaka」第3回目の勉強会を開催しました!

 

こんにちは、アプリケーション共同開発部の廣部です。

モバイルアプリ開発の勉強会「Mobile Act OSAKA #3」を開催しますで告知していました第3回目の「Mobile Act Osaka」を2月5日に開催しました。

月曜日の18時45分からという日程でしたが、今回も50名を超える方々にお越しいただきました。登壇枠も抽選となる盛況ぶりでした。本当にありがとうございました。

会場は、前回前々回と同じくグランフロント大阪 北館7Fの大阪イノベーションハブをお借りしました。

続きを読む

iOS11 アノテーション クラスタリング

こんにちは、アプリケーション共同開発部の大江です。
2017年の9月に発表されたiOS11ではiPhoneXの登場に伴うSafe Areaの導入など開発者にとって大きな変化がありました。 あまり注目を浴びていませんが、iOS11ではMapKitも大幅に改良されました。 その中でも注目すべきは、これまではClusterClusterKitなどのライブラリに頼ることが多かったアノテーションのクラスタリングがMapKitの機能として公式に追加されたことです。 そこで、今回はMapKitでアノテーションをクラスタリングする方法について紹介します。

続きを読む

iOS端末が何の生体認証に対応しているかは常に取得でき「る」



アプリ部の中澤です。
iOSの生体認証の仕様について、iOS 11.2現在のAppleの公式ドキュメントに一部誤りがある事を知ったので、その詳細を共有します。

続きを読む

Rx時代の先にあるもの

 

こんにちは、アプリケーション共同開発部のみなみです。

iOSアプリ開発を始めてから様々なライブラリを使ってきました。その中で特に強力でおもしろいと感じたのが、Rx (Reactive Extensions)に影響を受けたReactiveCocoaや、RxのSwift実装であるRxSwiftです。Rxライブラリとそれが実現するリアクティブプログラミングは、アプリ開発を大きく変えました。この記事では普段の開発で感じたRxライブラリの威力や課題、そして未来について書きたいと思います。

続きを読む

【iOS 11】 Web認証用の新クラス「SFAuthenticationSession」

こんにちは、アプリケーション共同開発部の中澤です。

先日、「iOS 11 で Safari View Controller の Cookie 等の共有機能が無くなる (予定)」という記事で、 Safari View Controller の仕様変更について「不便になるなぁ」などとボヤいておりましたが、あれから少し後、 SafariServices フレームワークに新しく SFAuthenticationSession というクラスが追加されました。これを使うことで、 Safari View Controller の当初の利便性をある程度保って Web 認証が出来るようになりました。🎉

以下、その詳細についてご紹介します。

続きを読む

アプリのUIデザインと建築的な設計思想

こんにちは。デザイン部の外薗です。

私は学生時代は建築を専攻していたこともあり、東京都近代美術館で開催されている「日本の家 1945年以降の建築と暮らし」を観に行ってきました。

日本の伝統・歴史をふまえながら、暮らし・住まいのあり方を考え、日本の建築がどのように変化してきたかを捉える展示会でした。

丹下健三、清家清、黒川紀章を始め、難波和彦等、日本の名だたる建築家の初期の作品も紹介されており、「日本の家」をテーマに建築の大きな流れを感じ取れる内容となっていました。

クライアントと建築家が双方に意見を出し合い、日本の住宅が進化してきた経緯をみていくと、ふと、現在担当しているアプリ開発と重なるものを感じました。

重なる点とはどのようなものでしょうか?
私なりに建築とアプリ開発の類似点を考察してみました。

続きを読む

iPhone X で画面下部に良い感じにオレオレツールバーをそれっぽく表示する方法

こんにちは、アプリケーション共同開発部の図子です。

iPhone X が 11/3 に発売されますね。みなさんも買いますよね?もちろん僕も買いますよ。

iPhone X ではディスプレイが大きく変わり、筐体前面のほとんどがディスプレイになります。Portrait では画面上部にカメラやマイクが納められているハウジング部分が欠け、下部は Home Indicator のための表示領域があります。Apple から公開されているドキュメントやガイドによると Safe Area を使ってこれらの要素を基本的に避けて表示するようにと案内されています。特に影響が顕著なのは画面下部に表示する Bar もしくはそれっぽい View ではないでしょうか? iOS 標準の UITabBar, UIToolbar などは UIKit 側がよしなにレイアウトを調整してくれ、ボタン類は Safe Area 内に納めつつ、Bar の背景をスクリーンの下の端っこまで引き延ばして表示してくれます。

実際のアプリ開発においては画面下部に固定で配置する View は UITabBar, UIToolbar とは限らず自前のツールバーっぽく振る舞う View を配置することも多いのではないでしょうか?今日は UIKit 標準の Bar 達と同様の事を自作のツールバー風 View で実装する方法を紹介します。

続きを読む

「Mobile Act OSAKA」大阪でモバイル関連の勉強会を開催しました!

 

こんにちは、アプリケーション共同開発部の大橋です。

大阪でモバイル関連の勉強会「Mobile Act OSAKA」を開催しますにて告知していた『Mobile Act OSAKA』を10月4日に開催。

グランフロント大阪 北館7Fの大阪イノベーションハブをお借りして、各発表1時間、懇親会1時間という気軽に参加できる内容となり、初回開催にも関わらず参加者約50名の方々に集まっていただきました。参加者の中にはエンジニアはもちろん、Web デザイナーの方や営業の方などもいて関西のモバイルへの関心の高さを感じました。

続きを読む

大阪でモバイル関連の勉強会「Mobile Act OSAKA」を開催します

こんにちは、エンジニアの宇佐見です。

大阪で「Mobile Act OSAKA」を開催します。Mobile Act OSAKA は、フェンリル大阪が開催するモバイルアプリ開発関連の情報共有や参加者同士の交流を目的とした勉強会です!

続きを読む

iOS11 で文字認識

 

 

こんにちは、アプリケーション共同開発部の河野(こうの)です。

今年の WWDC で Vision フレームワークが発表され、テキスト検出などの機能を簡単にアプリに組み込むことができるようになりました。
しかし、画像のここにテキストがあるよという検出はできるものの、そのテキストが何の文字なのかという文字認識の機能についてはまだサポートされていません。
近い将来 Vision フレームワークに文字認識の機能が追加されるとは思いますが、いま文字認識の機能をアプリに組み込みたい場合はどうすればいいのか。
iOS アプリ開発のプロジェクトで文字認識機能を開発する機会があり、そのときに調査したことなどをまとめたいと思います。

続きを読む

なぜ iOS アプリ開発でも Redux なのか

 

こんにちは、アプリケーション共同開発部のみなみです。

初代 iPhone が発売されてから今年で10周年を迎えました。これまでに多数のアプリが開発され、傾向としては、以前と比べものにならないくらい大規模・複雑化してきています。フェンリルでも毎年多数のアプリが開発されていて、開発の日々の中で今後もその傾向は加速していくと感じます。

大規模・複雑化する開発で出てくる問題

スコープの広い状態の扱いの難しさ

画面間やモデル間で共有されるスコープの広い状態をどうするかは、アプリ開発において最も厄介な問題の一つです。

例えば・・・

続きを読む

Jenkins はもうオワコン? Concourse CI で iOS 向けビルドをやってみた



忙しい人向けのまとめ

Concourse CI は Docker による構築が容易で、CLI による処理を自動化出来ますが、シンプルなUIしか持っていません。
そのため、Jenkins のように特定の個人に依存することなく、分散化した自動化のためのプラットフォームとして有望です。
モバイルアプリのビルドにも使えるので実際に試してみました。

続きを読む

iOS ビルド環境を Jenkins と Docker と Ansible でコード化する(実際のコード付き)

こんにちは。アプリケーション共同開発部の門多です。

昨年の終わり頃に、 Mac mini 増殖中!iOS アプリのビルドをマスター・スレーブ化して時間を短縮するという pixiv さんの記事がありましたが、フェンリルの共同開発事業アプリ開発でも、2012 年ごろから Jenkins を使ったビルドを行っています。

なるべく多くの人に使ってもらえるように、基本的に制限しない運用を行なっていました。しかし数年経ってみると、OS やビルド環境の変化もありましたし、現在の構成が色々と問題を起こしていることもわかってきました。現在ビルド環境の改善を行っているので、ついでに Keychain 管理の自動化や Xcode 自動インストールなど、これまで経験した色々な問題とその対応方法をまとめました。かなり長い記事になってしまいましたが、実際に使っているプログラムをそのまま掲載していますので、そのうち一部でも、特に iOS アプリのビルドで困っている人の参考になれば良いなと思います。

とても長いのでページ内のリンクを用意しました。

過去の問題点
環境構築の自動化

続きを読む

iOS 11 で Safari View Controller の Cookie 等の共有機能が無くなる (予定)

こんにちは、アプリケーション共同開発部の中澤です。

iOS 9 から登場した Safari View Controller (SFSafariViewController) は、 Cookie 等のデータが Safari と共有される Web ビューとして認知されています。

この仕様によって各種 Web サービスのログイン状態等も共有され、それによってユーザーはそれぞれのアプリで認証が容易になっていました。

しかし、 iOS 11 ではその仕様が変わり、 Safari や各 iOS アプリで表示される Safari View Controller は、Cookie やローカルストレージ等データをそれぞれ別の場所に保存するようになると、 WWDC 2017 にて発表されました。

続きを読む