タグ

iosに関するto4ikiのブックマーク (160)

  • 【ミラティブ】iOSDC Japan 2024 にスポンサーとして協賛します - Mirrativ Tech Blog

    こんにちは、ミラティブの野呂です。 ミラティブは、2024年8月22日(木)〜8月24日(土)に早稲田大学理工学部西早稲田キャンパス+ニコニコ生放送で開催される iOSDC Japan 2024 にスポンサーとして協賛させていただきます! iOSDC Japan 2024 については以下公式サイトをご覧ください。 iosdc.jp 協賛する背景 ミラティブは、ミッションである「わかりあう願いをつなごう」のもと、ゲーム配信プラットフォーム「Mirrativ」を運営しています。 ミラティブは「Mirrativ Tech Community & Activity Policy」を掲げ、エンジニアの社内外への発信を強く奨励しています。ミラティブのエンジニアは社外に対して積極的に発信し、イベントに参加し、OSSコミュニティに強く貢献しています。また、社内においてもエンジニア同士が積極的に交流し、勉強

    【ミラティブ】iOSDC Japan 2024 にスポンサーとして協賛します - Mirrativ Tech Blog
  • CLIツールの管理をSPMからMintに移行した経緯とその課題 - Mirrativ Tech Blog

    はじめに お久しぶりです、iOSチームにインターンとして参加させて頂いておりますMと申します。 MirrativのiOSアプリでは、これまでSwift製のCLIツールをBuildToolsという名前のSwift Packageを作成してこれにまとめて管理していました。 しかしこの度、ある課題や利便性の観点からyonaskolb/Mintでの管理に移行しました。 今回はMintへの移行に至るまでの背景や経緯、および移行に際して起こったいくつかの課題をどのように解決したかについて書いていこうと思います。 目次 はじめに 目次 Mintへの移行に至る背景 CLIツールの利用 SPMによる管理における課題 依存関係の不整合 依存解決の時間 Mintへの移行 Mintへの移行時に発生した課題とその解決 バージョンの自動更新 バージョン更新のためのコマンドを実装 1. Mintfileのパスを取得 2

    CLIツールの管理をSPMからMintに移行した経緯とその課題 - Mirrativ Tech Blog
    to4iki
    to4iki 2024/05/30
    Mint移行の話
  • iOSアプリだってコンパイル時間を短くしようと頑張った話(ビルド時間もね!) - STORES Product Blog

    はじめまして、こんにちは。 iOSエンジニアの とと です。 STORES 決済 アプリ / SDK の開発を担当しています。 少し前になりますが、決済 iOSチームでCI上でのビルド時間削減の取り組みをおこなっておりました。 Bitriseがクレジット制になるということで、ビルド時間を短くしてクレジットの消化(ひいてはコスト)を抑えようというのが目的でした。 そもそも、エンジニアとして日々の業務でビルド待ち時間が短くなるのは嬉しいですよね。 今回は、その時の取り組みの中から、主にコンパイル時間削減のためのSwiftでのコードの書き方を修正したお話をします。 環境 Xocde:13.3.1 Swift:5.6 ローカルで計測時に使用したMacのスペック MacBook Pro (16-inch, 2019) 8コアIntel メモリ64 GB コンパイル時間の計算 XCLogParser

    iOSアプリだってコンパイル時間を短くしようと頑張った話(ビルド時間もね!) - STORES Product Blog
    to4iki
    to4iki 2024/01/16
    いい話
  • iOSプロジェクトに対してモジュール分割しながらSwiftUIを部分適用している事例 - Mirrativ Tech Blog

    こんにちは、クライアントエンジニアの竹澤(@to4iki)です。 MirrativのiOSチームでは、開発効率の最大化を狙い以下に取り組んでいます。 データフローの単方向化 (Fluxアーキテクチャの強制) 宣言的UIによるView実装 (SwiftUIの部分適用) 責務分割 (モジュール分割) 今回の記事では、どのような構成でSwiftUIを適用し始めたか、また、MirrativのiOSプロジェクトの構成やプロダクト特性の課題感からセットでモジュール分割を進めている点を紹介します。 背景 前提となるプロジェクト構成 導入に向けて決めたこと SwiftUIでどこまで実装するか 体アプリではなくSwiftPackageを活用する 垂直分割するか水平分割するか 方針やTipsを明文化し育てる 新規開発部分のUI開発をFeatureモジュールで行う SwiftPackage: SwiftUI.

    iOSプロジェクトに対してモジュール分割しながらSwiftUIを部分適用している事例 - Mirrativ Tech Blog
    to4iki
    to4iki 2024/01/16
    少しづつ進めている改善に関して現在値を書いた
  • Mirrativ iOSアプリでのメモリ使用量削減への取り組み - Mirrativ Tech Blog

    こんにちは、iOSエンジニアのふじのです。 Mirrativの機能開発を進める傍ら、iOSアプリのメモリ使用量の改善に取り組んでいます。 今回は、アプリ内でメモリ使用量を増やしている問題点を見つける方法と、それらをクライアント実装で解決する具体的なアプローチについて紹介します。 Mirrativアプリが抱える課題 着眼点とアプローチ 画像キャッシュの効率化 UIImageのリサイズ 画像のメモリキャッシュの上限サイズ設定 メモリリークへの対策 Allocationsやmemory graphを利用した手動検出 XCTestを利用したCI上での自動検出 改善の成果と今後の課題 We are hiring! 参考リンク Mirrativアプリが抱える課題 Mirrativアプリはライブ配信機能や視聴機能、Unityを利用したアバター機能やWebGLを利用したゲーム機能など、メモリを多く必要とす

    Mirrativ iOSアプリでのメモリ使用量削減への取り組み - Mirrativ Tech Blog
    to4iki
    to4iki 2023/09/07
    計測大事
  • Flipperを使ったiOSアプリの開発体験向上&iOSエンジニア目線でのミラティブ社の魅力について - Mirrativ Tech Blog

    はじめに 初めまして!Mと申します。 私は、2022年8月中旬より現在まで、iOSチームでインターンとして参加させて頂いています。 (実はこのミラティブのTechブログを読んだことがきっかけで、インターンに参加することになりました) これまでの期間、特に私は、開発体験の向上のためのデバッグ環境改善に関するタスクを行なってきました。 記事では、MirrativのiOSアプリ開発における、Flipperというデバッグツールの活用事例および実装のポイントについて説明します。 また、私がインターンの中で感じたミラティブ社の魅力や、どんなことが学べたのかについてお伝えしようと思います。 目次 はじめに 目次 MirrativでのFlipper活用例 Flipperとは Flipperプラグイン ミラティブのデバッグ体験の改善点 iOSアプリ内のデータの流れ デバッグ面で大変だったこととその解決策①

    Flipperを使ったiOSアプリの開発体験向上&iOSエンジニア目線でのミラティブ社の魅力について - Mirrativ Tech Blog
    to4iki
    to4iki 2023/06/22
    Flipperを使っている
  • SDWebImage起因のクラッシュを解消した話と学び - Mirrativ Tech Blog

    こんにちは、iOSエンジニアのいっちー(@0IcchI)です。 最近はインターン終了を迎えるなか、引越しや卒業などでバタバタしており、若かりし頃の自分が広げまくった風呂敷をやっと畳んでるような気がしてます。 ...これからシェアハウスなどを始めるので、まだまだ風呂敷は広げていきます😌 題ですが、ミラティブではアニメーション素材の表示などにSDWebImageというライブラリを利用しているのですが、そこでクラッシュが発生していました。 記事ではそのクラッシュの解消方法と、その過程で得た学びについて紹介します。 経緯 ミラティブではクラッシュレポートツールのFirebase Crashlyticsを使って監視を行っています。 具体的にはベロシティアラートやクラッシュレートをSlackチャンネルに流したり、エンジニアが逐次不審なクラッシュの有無を確認したりしています。 今回のクラッシュはベ

    SDWebImage起因のクラッシュを解消した話と学び - Mirrativ Tech Blog
  • iOS 16のロック画面映え機能を実装したい衝動に駆られた話 - Mirrativ Tech Blog

    ピクミンのスマホゲームに歩かされ続けている福山です(現在Lv51 - 合計歩数1,415,248) iOS 16で音楽や動画を流しているときにロック画面がいい感じになりましたよね! 正式名称はわかりませんが、ここに表示される画像はアルバムアートやアートワークなどと呼ばれているようです。 Mirrativ iOSアプリの配信視聴時もいい感じになっているはず... と思ったのですが、ただの灰色の画面になっていました😨 「なんとかしたいなぁ」と思い既存のコードとリソースをほんの少しいじった結果、以下のようになりました!Mirrativアプリv9.88.0から反映されています。 大画面で画像を表示したくない or 他の通知もすぐ見たいという場合には画像部分をタップすることでコンパクトに表示されます。 コントロールセンターの右上のブロックを押すことでも画像を見ることができます。 iPhone 14

    iOS 16のロック画面映え機能を実装したい衝動に駆られた話 - Mirrativ Tech Blog
  • Xcode Previewsをまとめて実機で触れるUIプロトタイプアプリにする - nana開発者ブログ

    @hiragramです。nanaのプロダクトマネージャーとiOSアプリ開発を担当しています。 nanaは現在フルリニューアルに向けた作り直しに取り組んでいます。2022年9月現在、デザインや仕様を練ることと、手触りを確かめるためのプロトタイプ実装とを、グルグル繰り返しているところです。そのグルグルをより速くするために作った仕組みを紹介します。 UI確認用のプロトタイプアプリ nanaのiOSアプリ開発において、私たちはコードを書かずとも簡単にモックを作れるようなよくあるプロトタイピングツールを使わず、ネイティブアプリとしてプロトタイプを実装しています。nanaのプロトタイプには単なるデザインの事前確認だけではなく、仕様に対する設計の事前確認、シンプルな良い設計のための仕様の事前確認といった目的があり、それらは既存のプロトタイピングツールでは実現できないためです。 SourceryでXcod

    Xcode Previewsをまとめて実機で触れるUIプロトタイプアプリにする - nana開発者ブログ
    to4iki
    to4iki 2022/09/23
    便利そう!
  • イヤホン配信を支える音のプログラミング〜Accelerate編〜 - Mirrativ Tech Blog

    こんにちは。shogo4405です。エントリーは、iOSエンジニア向けにイヤホン配信を支える音のプログラミング入門 - Mirrativ Tech BlogのiOS実装を紹介したいとおもいます。 稿では、音声信号処理の実装手法としてAppleが提供するAccelerateフレームワークの利用方法を解説しています。音声の信号処理は、AccelerateのvDSPの関連の関数を利用します。 はじめに Accelerateを導入した背景は、for文での実装では、Mirrativで扱うライブ配信の処理速度に合わず体験的に良くありませんでした。そこで、Accelerateを導入することで処理速度の向上に寄与し満足できる体験になったため採用にいたりました。*1 サンプルデータ せっかくなので自分で音声データを作ってみましょう。sin波によるド・レ・ミ・ファ・ソ・ラ・シ・ドのラ(440hz)の音デー

    イヤホン配信を支える音のプログラミング〜Accelerate編〜 - Mirrativ Tech Blog
  • SwiftGenが生成する1万行越えSwiftファイルでXcodeがフリーズするのを防ぐ - Mirrativ Tech Blog

    4月にミラティブに入社したiOS開発者の福山 (@fokotate)です。ミラティブにはゲーム好きな人が多いためか、積みゲー消化が急速に進んでいます。 今回は珍しいケースかと思いますが、他社のiOSプロジェクトでも起こりえる問題に対処することができたので共有させてください。 2022/06/09 ✍️追記: Xcode 14 beta 1で確認したところ、以下の問題はほぼ解決しているようでした。AppleにFeedbackを送ったところ同様の報告が複数あり、対応していただけたようです。 Mirrativ iOS開発の問題点 Mirrativ iOS開発ではSwiftGenを使い、多言語対応ファイルLocalizable.stringsをswiftファイルに変換しています。これによって文言をコードに挿入するときに、Xcodeのコード入力の自動補完が使えるようになりタイピングミスがなくなり、コ

    SwiftGenが生成する1万行越えSwiftファイルでXcodeがフリーズするのを防ぐ - Mirrativ Tech Blog
  • エウレカはPairs(ペアーズ)のiOSアプリをどのように作っているのか

    この記事は「Eureka Advent Calendar 2021」1日目の記事です。 Pairs iOSアプリの開発にあたり、チームの体制やメンバーの動き方、開発の運用、そして実装方針など幅広く触れた内容となります。 エウレカのiOSチームの開発に興味があり、どのように作っていて、今の課題や次にやりたいことは?に関心のある方に向けた記事になります。 幅広く要点に触れつつ、各詳細には触れすぎない記事となりますので、詳しく知りたいという方はMuukii(Hiroshi Kimura)まで連絡をもらえればお答えします。 なお、一番下に私個人として、これからチャレンジしてみたいことが書いてあります。 概要チーム体制とメンバーの動き方ソースコード管理と申請などの開発における運用具体的な機能実装に関わる設計や技術チーム構成とプロジェクト会社の組織構造としてはチームは職種ごとに分けられています。 例

    エウレカはPairs(ペアーズ)のiOSアプリをどのように作っているのか
    to4iki
    to4iki 2021/12/05
  • 配信コメントバー 〜 iOS15 で実現する新しい PiP 体験 - Mirrativ Tech Blog

    こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。先日ミラティブの iOS アプリバージョン 9.38.0 にて「配信コメントバー」機能をリリースしました。この機能は iOS15 から利用可能になった PiP に関する技術を活用したもので、ミラティブ以外のアプリを開いている時に、端末の画面上にミラティブ固有のコンテンツを表示できる革新的な機能です。今回は、この「配信コメントバー」機能について背景や概要をご紹介したいと思います。 「配信コメントバー」機能とは 従来、iOS ではアプリがバックグラウンド状態に移行した後は、画面上に独自のコンテンツを表示するといったことは基的にできませんでした。例えば、ミラティブ iOS アプリでは配信中のコメントを届けるために、プッシュ通知を利用しています。 iOS 15 からピクチャ・イン・ピクチャ(以下: PiP)の柔軟性が増したこ

    配信コメントバー 〜 iOS15 で実現する新しい PiP 体験 - Mirrativ Tech Blog
    to4iki
    to4iki 2021/11/27
    15.1からの画面収録中の通知制限による制約がある中で、PiPをより便利で見やすい形で実現するのすごい
  • Kyash iOS アプリの履歴画面を SwiftUI でリファクタリングした話 - Kyash Product Blog

    こんにちは。Kyash の Mobile チームで iOS アプリを開発している id:muijp です。 Mobile チームでは、日々の機能開発の合間に生産性向上のための取り組みを行っています。この記事では、その一環として行ったリファクタリングの事例を紹介します。 Kyash の履歴詳細画面 Kyash のアプリでは、決済などによるお金の動きが以下のように履歴として一覧できるようになっています。履歴の項目をタップすると、その取引についてより詳しい情報を見られる履歴詳細画面に遷移します。 履歴詳細画面の課題 Kyash では決済以外にも送金・入金・出金など様々な操作ができるので、それによって作られる履歴の種類も多く、2021年5月にリリースした v8.0.0 の時点で22種類の履歴が存在していました。Kyash では MVVM アーキテクチャを採用しており、以下の図のようにそれぞれの履歴

    Kyash iOS アプリの履歴画面を SwiftUI でリファクタリングした話 - Kyash Product Blog
    to4iki
    to4iki 2021/07/31
  • iOSアプリのweeklyリリースを支える技術 - SmartNews Engineering Blog

    タイミング 各フェーズで起点となるタイミングについて説明します。 プランニング確認 上の表の「プランニング」の週に行います。 リリースの3週間前にプランニング確認のミーティングを行います。開発の進捗や、一週間でQAが行える分量なのかなどを確認して、そのバージョンに含める機能を最終調整して確定します。そのタイミングまでは、PdMエンジニアNotionに機能を追記していきます。 QA準備 上の表の「開発」の週に行います。 リリースの2週間前にQA準備のミーティングを行い、そのバージョンのテストシナリオやQAリソースが足りているかどうかを確認します。休日などの都合に応じて工程調整を行ったりもします。 QA開始 上の表の「QA」の週です。 QA開始前までに全てのpull requestをマージしておく必要があります。このタイミングに間に合わなかった場合は次のバージョンに延期されます。 QA開始

    iOSアプリのweeklyリリースを支える技術 - SmartNews Engineering Blog
  • メルペイで使っているBottomHalfModalをOSSにしました | メルカリエンジニアリング

    Merpay Advent Calendar 2019 の3日目は、 Merpay iOS チームの @masamichi がお送りします。 メルペイで使っているBottomHalfModalというUIをOSSにしました。このOSSの紹介と中身の実装について紹介します。 github.com 目次 BottomHalfModalとは 使い方 内部実装 SheetPresentationController SheetAnimationController 終わりに BottomHalfModal BottomHalfModalとは メルペイでは銀行からのチャージや、メルペイスマート払いの利用上限額の選択、メルカリ内購入の確認などにこのUIを使っています。 [左]銀行からのチャージ [右] メルペイスマート払いの利用上限額の選択 今回公開したメルペイで使用しているBottomHalfModa

    メルペイで使っているBottomHalfModalをOSSにしました | メルカリエンジニアリング
    to4iki
    to4iki 2021/05/02
  • Xcode12時代のライブラリ管理ツール選定 - 文字っぽいの。

    背景 iOSDC 2020でMint及びiOSアプリ開発時のライブラリ管理について執筆し、同様の内容をZennでもとして販売した。 zenn.dev しかし、Xcode12の正式版がリリース後に、執筆時からライブラリ管理を取り巻く状況が大きく変わってきたため、ここに筆を執った次第である。 はじめに この記事はXcode12を利用してiOSアプリ開発を行う前提で執筆されている。また、情報は2020年12月25日現在のものとなる。 iOSアプリ開発を行う場合、ライブラリ管理には CocoaPods Carthage Swift Package Manager(以下 SwiftPM) Manual が選択肢として挙げられる。Manualは管理といえるのか怪しいため今回は省略する。なお筆者は、 業:Carthage, CocoaPods, Mint 1 副業SwiftPM, Mint 個人開

    Xcode12時代のライブラリ管理ツール選定 - 文字っぽいの。
  • iOSアプリのメモリリークを発見、改善する技術 - クックパッド開発者ブログ

    こんにちは。事業開発部の岡村 (@iceman5499) です。 普段はクックパッドアプリ(iOS)を開発しています。 先日、アプリケーションが特定の条件で意図せぬ状態に陥り、アプリケーションが重くなって端末が発熱する、というバグが発見されました。 調査の結果、このバグはメモリリークが原因で発生していました。 この反省を踏まえメモリリークを検知するテストを導入したため、記事ではその事例を紹介したいと思います。 (記事ではクックパッドアプリとはiOS版の「クックパッド」アプリのことを指すものとします) クックパッドアプリにおけるメモリリークの影響 クックパッドアプリはレシピの検索をコア機能としています。 検索は重い処理ですがAPIを通してサーバ上で行われるため、アプリは結果を表示するだけです。そのためメモリを多く必要としません。 これまでにも何度かメモリリークが発生している状況はありまし

    iOSアプリのメモリリークを発見、改善する技術 - クックパッド開発者ブログ
    to4iki
    to4iki 2020/03/15
  • 「JapanTaxi」iOS アプリを継続的かつ安定してリリースするための取り組み

    How to release JapanTaxi iOS app stably and continuously ? Introduced our team development. References: - Unit Test for RIBs architecture https:/…

    「JapanTaxi」iOS アプリを継続的かつ安定してリリースするための取り組み
    to4iki
    to4iki 2020/01/30
  • コードを書きながら同時に設計していくためのiOSアプリ開発方針

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、iOSアプリ黒帯の林 (@kazuhiro494949)です。 2019アドベントカレンダー2日目は、私がiOSアプリ開発を進めていく過程でどのようにクラス設計を行っているか紹介します。 普段の業務でなかなか理想通りに設計できないなと思っている方のお役に立てればと思います。 背景 iOSアプリ開発は、提供されているフレームワークをいかに使いこなすかという側面がとても強いです。 そのため実行結果の動きを触りながら常に試行錯誤して、心地よく動かせる実装を実現していかなければなりません。 一方、試行錯誤していく過程で記述したロジックは自然と増えていき、些細と言えないコード量になっていきます。 こういった部分ではユニットテスト

    コードを書きながら同時に設計していくためのiOSアプリ開発方針
    to4iki
    to4iki 2020/01/08