私は個人で「20xx年の恵方コンパス」というアプリを約5年間運用しています。
名前の通りその年の恵方を示してくれるアプリで、2023年2月3日にはApp Storeの無料アプリランキング総合2位を達成しました。
しかしそれから数日経った頃「恵方」と検索した時の順位が一番下まで下がっていることに気づき、AppleからApple Developer Programのライセンス違反を警告するメールまで届きました。
そこには「App Storeのランキングやユーザーレビュー、検索結果などを操作している」との旨が記載されています。
無論そのどれにも心当たりはなく、そしてこのペナルティとして検索順位が下げられたのだと察し、メールへの返信やAppleへの問い合わせを行いました。
結果として現在は検索順位が回復していますが、それまでの間にAppleとどのようなやり取りがあったのかを本トークにて紹介します。
顔写真に化粧を施すアプリ、皆さんはどのように作りますか?
写真をサーバに転送し、バックエンドで加工する方法も考えられますが、顔写真は個人情報の一部となるため、ユーザに抵抗感を与える可能性があります。そこで、顔の分析から加工までを端末内で行う方法を検討しましょう。これならユーザのプライバシーが保護され、自社サーバでのコストも削減できます。
このトークでは、上記3ステップを使ったメイクアップ機能の実装方法を紹介します。メイクアップに限らず、Vision Framework や CIFilter の応用方法にも焦点を当て、幅広い実装に役立つ情報を提供します。
位置情報は現代のアプリケーションで不可欠な要素の一つであり、Apple Watchにおいても例外ではありません。しかし、watchOSにおける位置情報の取得はバッテリーの消費という課題に直面します。そのため、watchOSとMapKitを連携させ、適切な頻度で精度良く位置情報を取得する一方で、バッテリーを極力消費させない方法が求められます。
本トークでは、位置情報収集の基本、MapKitの詳細な機能、watchOSの消費電力管理の仕組み、そしてこれらが相互にどのように影響を及ぼすか、バッテリー消費最小化と取得精度向上のテクニックについて解説します。位置情報の取得精度とバッテリー消費は一見トレードオフの関係にあるようにみえますが、watchOSの仕様を理解し、MapKitの使用方法を最適化することで、この二つのバランスを適切に維持することを目指します。
「自分のiPhoneで外部機器を自由自在に制御できたらなぁ」と考えてことはありませんか?
私が所属する株式会社ユビレジでは、Appleが提供するFrameworkであるExternal Accessoryを使ってPOSレジアプリのレシート印刷機能を実装しています。
本セッションではExternal Accessoryについて、External Accessoryを使った外部機器(レシートプリンター)の制御方法ついて解説します。
みなさんHuman Interface Guidelines読んでますか?
HIGにはAppleのプラットフォームで優れた体験を生み出すための豊富な知識が詰め込まれたガイドラインです。
2022年6月以降内容をアップデートしさらにパワーアップしております。WWDC2023ではついに日本語にも対応しました。
そんなHIGですが、なかなか量が多く、読むのに時間がかかります。忙しい開発者の方々は呼んでる時間なんてないよ😭という人も多いでしょう。
そんな方に向けて本稿では特に私が大事だと感じた部分を抜粋し標準アプリの実例を備えて解説させていただきます。
・ 標準アプリの実例を踏まえて大事だと思ったところを説明します。
・ すぐにでも明日の開発に役立つよう業務に役立つ内容に焦点を当てます。
・ 実際にアプリケーションを開発する上で役に立った点などを説明いたします。
▼ 概要
iOS16.1からActivityKitが追加され、Live Activitiesを利用できるようになりました。
Live Activitiesを利用すれば、アプリの最新情報をリアルタイムにロック画面やDynamic Islandに表示することができます。
これによって、アプリを開かずに常にカスタマーに最新情報を提供することが可能になりました。
そこで私たちの開発している旅行アプリ「NEWT」では、Live Activitiesを利用すれば、リアルタイムにフライトの状況を提供し、時刻・ステータスの変更や確認に役立てることができると考えました。
今回はLive Activitiesについて、概要から実装方法について具体的な活用事例を用いてお話できればと思います。
▼ 内容
マッチングアプリの「タップル」がリリースされてから今年で10年目。
課金システムをフルリニューアルした経験についてお話しいたします。
StoreKit2への移行を検討している方々に、この情報が少しでもお役に立てれば幸いです。
主な内容
最近コロナの影響もあって最近話題の家庭菜園ですが、私もベランダで小規模に始めました
しかしいざ挑戦してみると以下の課題に直面しました
①水やりなどの管理が大変
②生育状況が把握しにくい
そんな困った時はテクノロジーで解決するのがエンジニアです!
今回はAppleの株だけでなく、Apple(りんご)の苗木まで買ってしまったiOSエンジニアがSwiftをベースにラズパイを使ったAppleなどの作物の家庭菜園IoT化への取り組みを共有します
具体的には…
①ラズパイを使って、対象の作物の画像を撮影する
②ラズパイで取得したセンサー情報を取得する
③作物への水やりの省力化
④ラズパイからFirebaseにデータを保存する
⑤作物の生育状況をiOSアプリ上から、Chartsなどを使用して、確認できるようにする
ぜひ皆さんもこれを機にiOS開発だけでなく、家庭菜園にもチャレンジしてみましょう!
Real Time Messaging Protocol (RTMP) とは、Adobe が開発している、Adobe Flash プレーヤーとサーバーの間で、音声・動画・データをやりとりするストリーミングのプロトコル。
YouTube LiveやTwitchなどのライブストリーミングサービスで広く使用されています。
AppleのプラットフォームではRTMPプロトコルがネイティブにサポートされていないため、librtmpライブラリの使用が一般的ですが、私はSwiftでの実装に挑戦しました。
このトークでは、Swiftを用いてRTMPライブラリをゼロから設計し、実装した経験を共有します。
特に難しかった挑戦、それにどう対処したか、そしてプロジェクト全体を通じての学びを詳しく紹介します。
UIKitを素朴に使っていた時代と比べて、現在はSwiftUIやクロスプラットフォーム開発などの選択肢が増えたことで、企業が求めている技術スタックを持ったモバイルアプリエンジニアに巡り会えないことが多くなってきていると感じています。
ピクシブ株式会社では、そのような状況を改善するため、ネイティブiOS・Androidアプリエンジニアを育成するためのプロジェクトを進めてきました。
アルバイトとして学生さんに来てもらいpixivに似たアプリを作ってもらいながら、実際の開発で使える知識を学んでもらっています。
このセッションでは、育成でどんなことを教えているか、つまづくポイントなどを紹介します。また、DocC Tutorialを作って学びやすいチュートリアルを作る方法についても紹介します。
色々なチュートリアルを公開する人が増えて、モバイルアプリ業界がさらに盛り上がれば良いなと思っています!
アンドパッドでは建築・建設業界に向けてクラウド型建設プロジェクト管理サービス「ANDPAD」を開発・提供しています。
従来のANDPADは、通常のSaaSと同様にオンライン環境下での活用をメインに開発してきました。
しかし、高層階や地下、辺境地での工事の場合、電波が届かないことも多く、そういった環境下でもANDPADをご活用いただけるよう、ANDPADアプリのオフライン化に取り組んでいます。
このセッションでは、この現在ANDPADが直面しているオフライン化の取り組みについて、どのように工夫し解決しているのかについてご紹介いたします。
ニフティライフスタイル株式会社が運営する「ニフティ不動産」アプリは、さまざまな検索条件から希望の条件を選んで物件を検索し、豊富な物件情報をもとに好みの物件に問い合わせをする動きがメインのアプリです。
この「物件探しの体験」をより向上させるために、iOSのさまざまな技術を取り入れて機能追加に取り組んできました。
本セッションでは、「ニフティ不動産」の賃貸版iOSアプリにおける取り組みの具体例をご紹介します。
メタバースプラットフォーム clusterの開発では、3DCGやゲームエンジンだけでなく、手軽に体験できるモバイルアプリケーションもプラットフォームを支える大事な要素です。clusterはマルチプラットフォームに対応しており、iOS開発を担当するエンジニアも多く在籍しプラットフォームを支えています。
clusterでは、バーチャル空間内の体験をUnityで、バーチャル空間外の体験をSwiftで開発しており、それぞれがどのようなインターフェイスで連携しているかについてお話します。また、clusterのiOS開発におけるモノレポのリポジトリ運用やFeature Flagによるトランクベース開発、GitHub ActionsによるLintチェックや自動テスト、マルチプラットフォームへの定期リリースなどの運用についてもご紹介します。
フリマ・スマホ決済事業を提供するメルカリは、サービスローンチから今年で10周年を迎えることができました。
この10年間、Objective-C での開発から始まり、Swift での Re-architecture、 SwiftUI での作り直しと、数年に一度、そのタイミングでのメルカリにとってベストであろう技術選定を行い、刷新を行ってきました。UI/UXにおいても、下タブ化、 Design System、UXモニタリングシステムの構築など、メルカリはより使いやすいサービスを提供するため、技術の進化に Go Bold に挑戦を続けています。
このトークでは、メルカリのiOS開発10年の歩みを様々な観点から振り返り、どのような課題に向き合い、技術的チャレンジを行ってきたかをご紹介します。
コードを読んでいる時、
「これは何をしてるんだろう?難しいなあ…」
と、内容がわからないもどかしさを感じたことはありませんでしょうか?僕はよく感じています。
これは、いわゆるコードの「複雑さ」から来ています。しかし、複雑かどうかは人によって異なりますし、また状況次第で変わります。
今回は、この「複雑さ」に焦点を当て立ち向かうためのコードの読み方について、みなさまと考えていきたいと思います。
日々の業務では、コードを書くよりも読む時間のほうが多い傾向にあり、コードの読み方を鍛えることで、日々の開発効率をより改善できる可能性があります。
そんな方々が、新しい視点を知り、コードに感じる複雑さを軽減できるようになるためのヒントを得る機会になりましたら幸いです。
没入感、現実感のある体験を提供するVR、AR等xRのベースとなる技術は、人間の知覚に対するリサーチからスタートし、インタラクティブエンタテイメント技術の一環として発展してきました。
本セッションではこうしたxRを支える技術に着目し、それらがどのように生まれ向上していったか実例を紹介しながら振り返ります。
プレゼンテータは @hak と実行委員長 @tomzoh で勤め、コンピュータやゲーム機の昔話を交えながらラフに雑談ベースでお話しますので気軽に参加ください。
キーワード:AR、VR、SoC、赤青めがね, 液晶シャッター, 偏光グラス, LCD, OLED, サイドバイサイド, 走査線, 視野角, fps, …
「iPhoneで他のデバイスを操作したい」と思ったことはありませんか?
Bluetoothを使用すれば、容易に行えますが、「ペリフェラル」や「セントラル」などの専門用語が難しく理解し辛い方もいると思います。
本トークでは、そんな方々を主な対象に、Bluetoothの基礎から話し、スマートキーの作成方法を必要な材料の選定、Core Bluetoothを用いたコーディング、そして実動の様子まで紹介したいと思います。
上記の内容にて、Bluetoothの基本的な知識から実践的な「スマートキーを作る」部分まで、わずか40分で学ぶことができます。
本トーク終了後には、あなた自身でスマートキーを作り、Bluetoothを用いたデバイスの設計・制作への第一歩となるでしょう。
フォトグラメトリは写真から3Dモデルを生成する技術です。町並みの3Dモデル化や、物体の3Dモデル化等に利用されます。消えゆくものを三次元データとして保存できることから、文化財の記録や考古学分野でも活躍しています。今やLiDAR搭載iPhoneも登場し、スマホ1台でフォトグラメトリが楽しめる時代になっています。個人的には、「空間の記念撮影」として泊まったホテルや住んでいたアパートの部屋を撮っておいたりしています。
本トークでは、iOS/iPhoneを用いたフォトグラメトリの手法や、Object Capture API、RoomPlan、ARKit等々のAPIについて解説します。フォトグラメトリの「中身」を知ることで、フォトグラメトリ with iOSをもっと楽しめるようになるでしょう。現実世界からの3Dモデル生成をマスターし、来るべきSpatial Computing時代に備えましょう。
iOSアプリ開発者の多くが、あらゆる問題に対する解決策としてOSSライブラリに頼りがちですが、実はFoundation 等の標準APIだけで十分なケースも多いことをご存知でしょうか?
本発表では、44個ものOSSライブラリに依存していたアプリが、いかにしてその数を15個まで削減し、そのプロセスでiOSの標準APIの力を再発見したかを具体的に解説します。
具体的な事例とともに、標準APIで十分に解決可能だった問題や、ライブラリ削減によるアプリのパフォーマン向上について共有します。
さらに、全てのライブラリを排除すべきではないことも強調し、どのライブラリを選択し続け、どのライブラリを削除したのかを明示します。
「passkeys」は、従来のパスワード認証の欠点(使い回しや漏洩の問題等)に対応し、パスワード認証を置き換えるべく開発された新しい認証技術です。
passkeysは、セキュリティ面だけでなく、ユーザビリティ面でも導入のメリット(パスワード入力が不要、端末間での認証情報の共有、など)があります。
2023年の5月にGoogleのログインシステムがpasskeysに対応したことで、今後、より多くのサービスでpasskeysを採用する可能性が拡がってきました。
本セッションでは、passkeysに興味のある方やプロダクトでのpasskeys対応を検討している方を対象に、passkeysの概要、セキュリティ・ユーザビリティ面での対応のメリット、アプリ側・サーバー側それぞれの対応方法についてご紹介します。
本セッションを通じ、多くの方がpasskeysに興味を持っていただけたら幸いです。