iOSDC Japan 2018 に採択されたトーク「iOSエンジニアが知るべきProgressive Web Apps開発のエッセンス」のブログ版記事です。 CfP提出後に内容は二転三転しまして、当初は最新Web開発事情について技術的に突っ込んだ内容にしようと目論んでいたのですが、「iOSエンジニア」へ「伝えたいこと」という軸で作っているうちにこの内容に落ち着きました。 当日聞きに来てくださった方、声をかけていただいた方。このような場を下さったiOSDCスタッフの方々にはたいへん感謝しています。 Introduction📛 昨年末 SafariにService Workersが実装され「iOSがPWAをサポートした」というニュースが業界内で話題になりました。 (※Progressive Web Apps 以降 PWA という略称で話します) この時話題になっていたSafariのPWAサ
経緯 GW前に Apple Developer Program の更新のお知らせメールが届く。 iOSアプリはここ2年近く(意識が低く)何も作れておらず更新を迷っていました。 年間メンバーシップの料金は 11,800円。 これで家族で焼肉が食べれる(冗談) PWA にしてみよう! PWA が iOS 11.3 の Safari でも対応されたこともあり、GWを使って勉強がてらiOSアプリをPWAとして作ってみます。 開発について 使った技術など。 JS Framework 今回は Nuxt.js を使うことにしました。 @nuxtjs/pwa を使って気軽にPWA化してみようと思います。 @nuxtjs/pwa https://github.com/nuxt-community/pwa-module CSS Framework 複雑なUIではないので今回は使いませんでした。 Materia
FlutterでDroidKaigi 2018のiOSアプリを作りましたという記事を書いた後、Appleの審査で何悶着かありもう公開は無理だと諦めていたところ、DroidKaigi当日の2018年2月8日に奇跡的に審査が通りApp Storeからインストールできるようになりました。 DroidKaigi 2018 Flutter Yusuke Konishiユーティリティ無料 色々な人に知見をいただき、本当に感謝しています。iOSアプリを開発している人にとってはよくあることなのかもしれませんが、自分にとっては新鮮な体験だったので忘れないうちに時系列で残しておこうと思います。いつか、どこかの誰かが同じ思いをした時に少しでも助けになれば嬉しいかぎりです。 1/31 (水) 残り8日 - 初Submit かいた DroidKaigi 2018のセッションの題材として、iOSアプリをFlutter
B! 15 0 1 0 Blink Shell はiOS用のターミナルアプリで mosh が使える(現状恐らく唯一の?)アプリです。 このアプリ、アップルストアだと2400円ほどしてちょっとお高めなのですが、 ソースコードは公開されていて自分でビルドして入れる分には無料で試すことが出来ます。 その方法がちょっと面倒だったのでまとめておきます。 mosh Blink Shell Blink Shellのビルド方法 Blink Shellの使い方 mosh iPhoneなどの携帯端末では基本Wi-fiなりモバイルの電波で作業することになりますが 特に外で作業しようとモバイル接続で行う際には不安定で 切れてしまうことも多々あります。 そんな時に通常のsshでは毎回つなぎ直さなくてはいけないし、 例えscreenとかを使っていたとしても面倒です。 moshはネットワークが一度切れても つながり次第
iOSDC Japan 2017 2017/09/17 14:20~ iOSデバイス3,500台を管理する、 東急ハンズのデバイス手法とは # Demo 動画 https://www.youtube.com/watch?v=KNSxw1LS7cE&feature=youtu.b…
Cut, Copy & Paste _Cut, Copy & Paste / Apple Inc. (2009) 『iPhone - Features』_ Pasteboard UIKit フレームワーク (UIPasteboard) が対応。(iOS 3.0 以降) MMS _MMS / Apple Inc. (2009) 『iPhone - Features』_ Composition Interface MessageUI フレームワーク (MFMessageComposeViewController) が対応。(iOS 4.0 以降) Spotlight _Spotlight / Apple Inc. (2009) 『iPhone - Features』_ Index Activites Foundation フレームワーク (NSUserActivity) が対応。(iOS 9.
KMC 春合宿 2016 // Android -> https://speakerdeck.com/nonylene/androidios-apurizuo-cheng-ru-men-android-bian
はじめに iOSアプリ開発をしていて役立つWebサービスやツールがありますので備忘録としてまとめてみました。アプリ開発を始めるところからリリース後までを順番に書き並べています。ぜひiOSアプリ開発をしている方は参考にしてください。(Androidアプリ開発している方にも使えるものはあると思います。) UI/UXを考える プロトタイプを作成する アプリを作る前にデザインをまず決めますよね。その際に、実際にスマホで閲覧したときにどのように見えるのか、どのようなインタラクションにするかを議論します。そんなときに便利なプロトタイプ作成サービスがあるので、いくつか載せておきます。 サービス URL Justinmind http://www.justinmind.com/ Flint for Mac https://www.flinto.com/mac POP https://popapp.in/
<この記事は「Money Forward Advent Calendar 2015」の22日目の記事です> この記事は、iOS Clean Architectureと実際にコードへ適用した内容について紹介します。 コードについては、改善の余地があるため随時修正していくと思います。 → github: https://github.com/koutalou/iOS-CleanArchitecture iOS開発においてよくある問題点 「ビジネスロジックはModelに置くべき」と言うが、開発者によって理解や意見がバラバラで統一的な実装ができない 度重なる仕様変更や複雑な仕様に対応するためにViewControllerや特定のModelが肥大化し、ビジネスロジックの本質を見失う MVC,MVP,MVVMだけで考えると、どこかのレイヤが複数の責務を持つことになり依存度の高い複雑なコードが生まれてし
検証環境 Xcode 7.0 beta6 (7A192o) 手順 Xcode7を起動します 適当に新規iOSアプリのプロジェクトを作ります File > New > Target を選択し、iOS > Application Extension > Content Blocker Extension を選択して適当な名前をつけます blockerList.json というファイルを適当に編集します。 iOS Simulatorで2.で作成したアプリを起動します iOSのSettings > Safari > Content Blockers を開き、自分が作った Content Blocker がオンになっていることを確認します Safariを開いて、適当なwebサイトを開いて blockerList.json 通りに広告がブロックされてれば実装完了です。 たとえば Google の広告を
これまで発表されてきたiOSでは革新的な機能を毎年のように披露し、僕らユーザーを興奮させてきたが、「iOS 9」に関してはそのような感動は少なく、例年に比べてどちらかと言うと地味な印象を受けるかもしれない。最新バージョンはOSとしてのパフォーマンスや安定性に注力した内容となっているからだ。 派手な変化は見当たらないかもしれないが、まるで無いわけではない。特にiPadに関してはこれまでに比べて格段に使い勝手が良くなると思われる機能が複数用意されている。 「iOS 9」の必ず把握しておくべき最新機能をまとめたので、参考にどうぞ! 僕の知る限りではSiriを活用している人の方が少ないような印象を受けるが、そのSiriが「iOS 9」の性能が大幅に改善されている。 どうやら応答速度と精度が40%も向上しているとのこと。実際ベータ版で試してみたところ、以前に比べて聞き取るスピードおよびそれを実行に移
WindowsやiOS、Androidなどに対応したネイティブアプリを開発できるビジュアル統合開発環境の「RAD Studio」の最新版「RAD Studio 10 Seattle」がエンバカデロ・テクノロジーズから登場しました。 RAD Studioは、Object Pascal(あるいはDelphi言語)で開発を行うDelphiや、C++言語で開発を行うC++ Builder、リモートデータベースアクセスの機能などを1つのパッケージにまとめた製品。 これまでRad Studioは「RAD Studio XE」としてバージョンを重ねてきましたが、今回Windows 10への対応などを実現した新バージョンをリリースするに当たり、XEシリーズから10シリーズへとブランドを刷新。今回のバージョンは10の後ろにマイクロソフトがある都市名「Seattle」(シアトル)が付加され、「RAD Stud
iOS 8.4.1の:hover問題 追記(2015年10月23日) iOS 9.0.2で確認した所この問題は解決していました。 ネタ元:結構緊急リンクが飛ばない iOS 8.4.1からCSS :hoverも1クリックカウントっぽいSafari | WEBスキルアップ君 上記の件、結構やっかいな問題なのでiPhone6+をiOS 8.4.1にアップデートして色々と検証してみました。 どんな現象になるの? 以下のサンプルで確認できます。 a:hover img{ opacity:0.6; } <a href="http://blog.webcreativepark.net/"><img src="button.png" alt="button"></a> サンプルページ iOS 8.4.1をお持ちでない方は以下の動画で確認できます。 SPサイトなら:hoverを利用するケースは少ないので使わ
今朝、OSX El Capitan・iOS 9・watchOS 2のβ4のアップデートが来ました。 これまで大体隔週で日本時間水曜くらいの朝にアップデート来ている感じです。 (全部更新しちゃいました。watchos 2のバッテリー問題がそろそろ解消されていることを願います(´-ω-`)) 新しいβがリリースされると、こちらのドキュメントが大量に更新されます。 iOS Developer Library そのうちの一部として、Search APIのCore Sportlightのドキュメントが追加されていました。 これで、かなり実装がしやすくなりますね( ´・‿・`) Core Spotlight Framework Reference CSSearchableItemAttributeSet Class Reference CSSearchableItem Class Reference
今開発しているPlayer!で、チャット系のリアルタイム更新処理が必要となったので、色々調べながらまとめています。 分量が多いので、とりあえずまずは小出しにAppleのPUSH通知の特徴・ノウハウについてまとめたものを公開します。 → 「リアルタイム更新処理」全体にフォーカスした記事も書きましたヽ(・ω・`) iOS - チャットなどリアルタイム更新が必要なスマフォアプリの構成について考えてみた - Qiita アプリが終了状態になっていてもサーバーから通知出来る唯一の手段 まず当たり前のことからですが、最大の特長だと思います。 この理由によって、双方向通信などを併用するにしてもPUSH通知対応は必須です。 (サーバー経由でなければ、位置情報トリガーなど他にもいくつか終了状態から起こす方法は存在します。) ユーザーにPUSH通知を不許可にされたら届かない さらに、初回の確認で不許可にされた
iOSアプリを作ってると気づかないうちにやってしまっている循環参照。 メモリリークの原因は大概コレが原因となっていると思います。 1.循環参照とは? 循環参照とは「クラスAとクラスBのインスタンスがそれぞれ存在した時、クラスAのインスタンスをクラスBのプロパティに格納し、クラスBのインスタンスをクラスAのプロパティに格納する」といった状態になった時に、お互いにインスタンスを参照しあうため、どちらも解放されずにそのまま残り続けてしまう、という現象です。 2.強参照と弱参照 クラスのインスタンスは何も指定しなければ通常「強参照」と呼ばれる形で代入されます。 強参照とは、端的に言えば親子関係です。 親が解放されると子も自動的に解放されます。 ここで上記のようにお互いが親としてインスタンスを保持すると循環参照が起きるわけです。 そこで、この循環参照が起こることを防ぐために弱参照を使います。 Swi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く