はじめに AWAという音楽ストリーミングサービスでiOSエンジニアをやっている小梛です。 AWAでは、Build時間が長いことによる開発効率の低下が定期的に問題になっており、高速化のためにさまざまな試行錯誤を重ねてきました。 その概要については、昨年末CA.swiftというiOS勉強会において「Build時間改善」というタイトルでLTさせていただきました。 ただ、このLTから既に半年が経過し、Xcodeのアップデートもあったことで、一部挙動が変わっていたりします。 本記事では、最新データを再調査した上で、LTでは伝えきれなかった詳細部分についても含めてBuild高速化についてご紹介できればと思います。 目次 調査環境 Build時間の計測方法 Build設定の最適化 コードベースのCompile時間削減 Buildマシンの性能を上げる まとめ 調査環境 macOS Sierra / Xco
iOS-factor は高品質の Web サービスを作成するための方法論である twelve-factor app framework にインスパイアされました。iOS-factor は同じ構造とよく似た原則を使い、それらは iOS アプリ開発プロセスに書き換えて適用されています。 背景 ここ10年で iOS アプリ開発のプロセスは劇的に変わりました。 1つのデバイスのサポートから iOS 対応の iPhone や iPad など多種多様なデバイスと tvOS や watchOS のようなさまざまなプラットフォームのサポートへ git のサブモジュールとしての手動追加から依存関係マネージャーの利用へ 大部分がローカルのデバイス上で実行される iOS アプリからバックエンドサービスに大きく依存するアプリへ iOS アプリのレビューが2週間以上から1日以内へ iTunes を使った iPhon
表題通り。間違ってたら教えて欲しい。 iOS9以降をDeployment Targetにしている場合のみの話ですので、iOS8系をサポートしている場合は今まで通り明示的にremoveしましょう。 今までは NotificationCenter.default.addObserver(_:selector:name:object:) して追加されたNotificationを、明示的にremoveする必要がありました。用途によりますが、 viewWillDisappear や deinit の中で NotificationCenter.default.removeObserver(self) とか書いていることと存じます。 この処理がiOS9以降を対象としたビルドでは不要になりました。 ほんまかいなという話ですが、addObserver(_:selector:name:object:) - N
残しておかないと二度嵌りそうな実装のメモ。 もっといい解決方法があれば教えてください。 随時更新しますので、内容が変わります。 エラーログがでなくなった、謎のエラーがでるようになった iOSシュミレーターを切り替えたりしていると、シュミレーター側にゴミが残るのかいろいろ不具合が発生する。 iOSシュミレーターを選択 ツールバーのiOSシュミレーターを選択 コンテンツと設定をリセットを選択 リセットボタンを選択 これでアプリを起動し直すといろいろ解決したりする。 スクロールしないUIWebViewを使用したい UIWebViewのスクロールをNOにして使用する場合に困るのが高さの通知です。 オブザーバー等で無理やり高さの通知を行うと、無限ループする可能性があるので、JavaScriptから一方的に高さを通知して、UIWebViewの高さを広げる方法がいいと思います。 <html> <body
ひとつのデザインが事実上の標準となり、その後の基本パターンを変えてしまうことがあります。変わった後ではそれが当たり前となってしまい、その標準に始まりがあったことなど誰も気にしなくなるのです。また振り返ってみたとしても、それがなかった頃の感覚に立ち戻ることはできないので、もはや何がどう新しかったのかを実感することは難しいのです。 2007年に iPhone が発売され、その一年後に日本で iPhone 3G が発売されてから今日(2018年7月11日)でちょうど10年が経ちました。この10年間でスマートフォンやそのアプリを介したオンラインサービスは瞬く間に普及し、私たちのモバイルコンピューティング、コミュニケーション、ソーシャルメディア、Eコマースなどの態様が大きく変化したのは周知のとおりです。 iPhone のデザインは多くの面で新しいものでした。そしてその大部分がその後のスマートフォンの
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 更新情報 2018/7/1:基本サンプルにAVSpeechSynthesizerSample、HomeScreenQuickActionsSample、PeekAndPopSampleを追加。 2019/9/23:全サンプルをXCode10.3、Swift5に対応 はじめに カスタムセルを使ったCollectionViewの表示、手を止めずに作れますか? TableViewCellを伸び縮みさせたり、視覚効果を与えたりする、、、何も調べずに作れますか?? おそらく開発業務に携わっているほとんどの方は(僕を含めて)新規に何かを作成する場合
iOS/Androidネイティブアプリ用デバッガ「Sonar」、Facebookがオープンソースで公開。実機およびエミュレータを用いたデバッグに対応 SonarはmacOS用のデスクトップアプリケーションです。デバッグ対象となるネイティブアプリケーションにSonar用SDKを組み込むことで、デバッグ対象アプリケーションとSonarのあいだでデバッグ用の情報がやりとりできるようになります。 デバッグ対象のアプリケーションは実機もしくはエミュレータのいずれで実行したものであっても対応。 Sonarはプラグインによって拡張可能になっていますが、最初から「ログ」「レイアウトイスペクター」「ネットワーク」の3つのプラグインがバンドルされています。 下記はログプラグインの機能を用いてログ収集画面を開いたところ。Androidエミュレータ上で実行されているアプリケーションの動作ログがSonar上で参照で
前書き 何かと最近 iOS 界隈では設計の話が流行ってるようで、乗るしかない、このビッグウェーブに自分が今まで開発してきた経験と今使っている設計を一回整理してまとめるチャンスでもあると思って、この記事を執筆させていただきました。長々と駄文を垂れ流してますがどうか温かい目で見守っていただけると幸いです。 また、あらかじめ断っておきますと、筆者が今使ってる設計は一昨年書いたこの振り返り記事に基づいた MVC モデルから派生したものです。 なぜ未だに MVC 「未だに」という言葉には語弊を感じる方もいるかもしれません、が、最近の iOS 界隈ではやはり Clean Architecture とか VIPER とかの設計がとても話題になっているのも事実なんじゃないかと思います。そうでなくても、MVVM や MVP もじわじわと着実に浸透していると感じております。少なくともハッカソンをいくつか参加し
Automatic Strong Passwords and Security Code AutoFillのざっくりとした内容メモです。内容、画像は全てセッション動画から持ってきています。 パスワードの自動入力 今までのパスワード管理と入力 今までパスワード管理はユーザにとって悩みのタネだった。セキュリティ強度が高いパスワードを各サービスごとに用意する必要があるが、それはパスワードマネージャーを使ったとしても面倒なことだった。そこで今回、パスワードで憂慮することなく、簡単に、安全に管理できるようにした。 現在、多くのユーザはiCloud Keychainを使っている。Apple自身もKeychainにはアクセスできないため、Keychainでの管理は生体認証の次に安全で簡単な方法である。これがiOS 12でもっと簡単になる。 iOS 12からのパスワード管理と入力 新規アカウント作成画面で
更新内容 2022年8月10日:GitHubに公開しているアプリをXcode13.4.1以降に対応(詳しくはこちらを参照。) はじめに 今回、アプリのソースコードを公開しようと考えたのには以下の理由があります。 自分が作ったアプリを多くの人に見て欲しい。 いろんな人の意見を聞きたい。 コードを共有することでアプリを作る人の手助けがしたい。 この記事が皆さまのお役に立つことができれば幸いです😃 アプリの紹介 Innovy(イノービィ)。 最新のサービスや技術の情報収集にアンテナを立てている20代〜30代(主に男性)向けのニュースアプリです。 ※革新者(イノベーター)をイメージした名前にしました。 ジャンル別の最新ニュースやユーザの反応を見ることができます。 また、ニュース読み上げ機能があるため、歩きながらニュースを確認することもできます。 アプリURL:https://itunes.app
海外のクラウドファンディングサイト kicksterter.com は自社の iOSアプリ のソースコードをGithubで公開しています。 kicksterter/ios-oss なかなか評判が良さそうだったのでソースコードを観察してみました。 最も印象的だった部分はだいたい他の人の記事で分かりやすくまとめられていたので、 僕は俯瞰的な視点で思ったことをダイジェスト的に書くことにしました。 動機 僕は現在新規のiOSアプリプロジェクトに参加しています。 アプリ開発は最初が肝心なので、なるべく他のプロジェクトを参考にして構成を参考にしようと思い、オープンソースで公開されているkicksterterのiOSプロジェクトを観察してみました。 アプリ開発は最初が肝心 ソフトウェア開発も最初が肝心です。 初期段階のフェーズでの判断次第で、未来の開発環境が大きく変わります。 アプリ開発でも、最初に作っ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く