Studyplus Engineering Blog

スタディプラスの開発者が発信するブログ

iOS

FlutterでDriftを使ったデータ保存でのつまづきと対策

こんにちは、クライアントグループの樋口です。 今回は、弊社のアプリにてFlutterで使えるローカルDBパッケージの「Drift」を用いた開発した際に生じた、データ保存でのつまづきとその対処法を紹介します。さらに、Driftの簡単な使い方と使用例も併せて紹介…

FlutterのAdd-to-appを導入しているiOSアプリ保守で起きたライブラリ競合と対処法

プロダクト部クライアントグループの明渡です。 昨年9月から今年4月半ばまで産育休をとり、約1年ぶりの当番ブログです。 産んだ子どもは1歳になりました。食欲魔人という文言がしっくりくる食べっぷりで、成長曲線の上辺すれすれで推移しております。 今回は…

iOSDC Japan 2023に参加しました

こんにちは、クライアントグループの樋口です。 8/31~9/2に開催されたiOSDC Japan 2023へ参加した件をブログにします。 iosdc.jp はじめに 弊社スタディプラス株式会社はシルバースポンサーとして、ノベルティボックスにスタディプラス付箋セットを提供させ…

Studyplus iOS/Androidのサブスクリプションをサーバーサイドに実装した話

こんにちは、サーバーグループの中村です。 Horizon Forbidden Westを先日クリアしました! とても面白かったのですが大作オープンワールドゲームをがっつりプレイするのが最近しんどくなってきました。 ですが懲りずにELDEN RINGを買おうか悩んでおります。…

Studyplus iOSアプリにasync/awaitを導入してみた

こんにちは、Studyplus事業部モバイルクライアントグループの上原です。 中途入社でiOSエンジニアとして入社して、StudyplusのiOSアプリの開発を主にしています。 また、最近はiOS以外にもFlutterを触り新機能を開発したりしています。 趣味の方では、Apex L…

Studyplus iOS/Androidでお試し期間のあるサブスクリプション販売始めました

こんにちは、モバイルクライアントグループの明渡です。 2年近く前にStudyplus iOS版のサブスクリプションを実装した際、Appleの課金テスト用Sandboxアカウントが扱いづらかったのですが、iOS 14から改善されていたことを最近知りました。 途中解約ができる…

私がStudyplusに入社して2年半が過ぎました

こんにちは。Studyplus事業部モバイルクライアントグループの大石です。 先日、古代戦士ハニワットというコミック作品の色紙オークションという企画があり、無事落札できました。 作者の武富健治先生に好きなキャラクターをリクエストして直筆で描いてもらえ…

iOSDC Japan 2021に参加しました

こんにちは、モバイルクライアントグループの大石(id:k_oishi)です。 2021/9/16~18に開催されたiOSDC Japan 2021へ参加した件をブログにします。 今回、弊社はシルバースポンサーとしてスポンサードしており、レギュラートーク(20分)での登壇が1名、他のメン…

対話を頑張らなくても作れるSiri Shortcuts向けIntents App Extension スライド書き起こしと補足

こんにちは、モバイルクライアントグループの明渡です。 iOSDC Japan 2021に採択していただいた、「対話を頑張らなくても作れるSiri Shortcuts向けIntents App Extension」のトーク収録を終えました! 数えてみると、合計6回ほど収録し直していました。 1週…

StudyplusはiOSDC Japan 2021にシルバースポンサーとして協賛します

こんにちは、モバイルクライアントグループの大石です。 好きな漫画は最近モーニングにて連載再開した「望郷太郎」です。 Studyplusは2021年9月16日からオンライン開催されるiOSDC Japan 2021にシルバースポンサーとして協賛します。 iosdc.jp 弊社のiOSエン…

Studyplus iOSにおけるコードリファクタリングへの取り組み

Studyplus iOSにおけるコードリファクタリングへの取り組み こんにちは、Studyplus事業部モバイルクライアントグループの上原です。以前はWidgetの実装についてブログを書きましたが、今回はStudyplus iOSで取り組んでいるコードのリファクタリングについて…

アプリ画面のライフサイクル管理をAppDelegateからSceneDelegateへ移行した話

こんにちは、Studyplus事業部モバイルクライアントグループの明渡です。 最近、当ブログの当番がチーム単位から個人単位へ変更になりました。 ひとまずブログ執筆をご無沙汰していた順に回るのですが、自分は昨年iOSDCのLT登壇内容まとめ記事以来でした。 iO…

あなたの知らないStudyplusモバイルクライアントグループの世界

こんにちは、モバイルクライアントグループのリーダー大石です。 春から息子が就活を始めたので親としては期待と不安が入り混じる季節です。 今回はモバイルクライアントグループで何をどのような体勢で開発しているか、どのような取り組みをしていたか昨年…

Studyplus iOSアプリでWidgetに対応しました

iOS

初めまして、モバイルクライアントグループの上原です。昨年11月からiOSアプリ開発を担当しています。 最近は、Apex Legendsで目標だったランクのダイヤ4に到達し、ランクのモチベーションが下がりカジュアルをずっと回す日常になりました。 さて、本題に入…

AndroidとiOSの両方開発のメリット

こんにちは、モバイルクライアントグループの隅山です。 普段はAndroid開発を担当しています。最近ではiOS開発にも参加し始めたため、両OS開発についての難しさやメリットについて紹介します。 背景 iOS開発 開発方針 内容 つまづき:ヘッダー・フッターの存…

GitHub ActionsでSwiftLintをLinuxの上で動かそう

こんにちは、モバイルクライアントグループの若宮(id:D_R_1009)です。 みなさまお元気でしょうか、私はチェンソーマン9巻購読直後のため気持ちが乱れております。どうしてだよ……。 コードの悪魔は厳しいので、そんな気持ちの乱れをコードに持ち込むわけには…

iOS 13におけるSiri Shortcuts 最小実装+α スライド書き起こしと補足

こんにちは、モバイルクライアントグループの明渡です。 先日iOSDC Japan 2020にてLTへ登壇させていただき、「iOS 13におけるSiri Shortcuts 最小実装+α」というテーマで発表いたしました。 fortee.jp フィードバッグも思いの外たくさん頂戴いたしまして、登…

iOSDC Japan 2020に参加しました

こんにちは、モバイルクライアントグループ iOSエンジニアの大石です。 9/19~21に開催された iOSDC Japan 2020 へ参加した件をブログにします。 今回、弊社としてはシルバースポンサーとしてスポンサードしており、LTへの登壇は1名、他のメンバーは勉強会・…

Studyplusアプリでダークモード・ダークテーマに対応しました

こんにちは、モバイルクライアントグループの明渡です。 8月31日、StudyplusのiOS版でダークモードに、Android版でダークテーマに対応したバージョンをリリースしました 左がiOSのダークモード、右がAndroidのダークテーマ 今回は、私も一部を担当したiOSア…

Studyplus iOS版におけるアプリ内課金時のUI制御

こんにちは、モバイルクライアントグループの明渡です。 先日のGoogle Play定期購入でプランを切り替えるモードの話でも記載の通り、スタディプラスでは今年3月に有料会員サービス Studyplus Pro をiOS/Android両OSでリリースしました。 info.studyplus.co.j…

Nuke + UIImageViewでいい感じにURLを読み込ませたい!

お久しぶりです。 モバイルクライアントグループの若宮(id:D_R_100)です。 もともとはAndroidアプリ専任だったのですが、昨年11月ごろよりiOSアプリ開発にも参加するようになりました。 今回は、iOSアプリに参加して取り組んでいたNukeによる画像読み込み処…

Studyplus iOSでライブラリ管理をCocoaPodsからCarthageに移行した件

iOS

こんにちは。今年の5月に入社したiOSエンジニアの大石(id:k_oishi)です。 今回は弊社がリリースしているStudyplusのiOSアプリのライブラリ管理をCocoaPodsからCarthageに移行した件をご報告します。 プロジェクトの構成と開発PCのスペック 現在のStudyplus i…

iOSDC Japan 2019に行ってきました

こんにちは、Studyplus iOSチームの明渡(id:m_yamada1992)です。 iOSDC Japan 2019(2019年9月5日〜7日)にiOSチームのうち2名(大石、明渡)で参加いたしました。 なお、費用については下記のスポンサー枠1名 + 弊社の 勉強会・カンファレンス参加補助 で参加さ…

Studyplusのとある画面でYouTubeの動画再生に対応し、やらかしたお話

iOS

こんにちは、Studyplus iOSチームの明渡(ID: m_yamada1992)です。 今回は、今年3月にリリースしたStudyplusアプリにて大学の情報を表示する画面でYouTubeの再生に対応したお話、およびiOSアプリ側の実装にて盛大にやらかした話をつづっていきます。 YouTube…

try! Swift TOKYO 2019行ってきました

初めまして、iOSチームに昨年10月から入社しております明渡(ID: m_yamada1992)と申します。 入社してからといいますか、社会人8年目にして初めて平日に丸1日単位で開催される技術カンファレンスへ大手を振って参加してきました! 開催が3月21日から23日でし…

Apollo-iOSを使用してGraphQLを叩く

iOS

こんにちは。 iOSエンジニアの弘田です。 みなさんGraphQLはご存知ですか? 知らない方は弊社のエンジニアがGraphQLの記事を書いているのでぜひ読んでみてください。 GraphQLを導入しようとしている話 Studyplusのアプリで一部GraphQLを使用する際にApolloを…

UIPickerViewをUIControlを使用してキーボードの様に表示する

iOS

こんにちは。 入社して一ヶ月が経過したiOSエンジニアの弘田です。 今回はUIPickerViewをキーボードの様に表示する方法を解説します。 なぜそんなことをするの? 昔のiPhoneでしたら画面の中心などにUIPickerViewを表示しても画面サイズが小さかったので片手…

iOSDC2018に参加しました

こんにちは。スタディプラスに9月からiOSエンジニアとして入社した弘田です。 Kotlin festの記事でも紹介しましたが、 弊社には 勉強会・カンファレンス参加補助があるので、iOSDC2018に参加させていただきました。ありがとうございます。 弊社のiOSエンジニ…

fastlaneでCode Signing StyleをAutomaticからManualに変更する

iOS

はじめに Studyplus開発部のiOSエンジニアの id:kurotyann です。2015年に入社してもうすぐで3年になろうとしています。 今回の開発者ブログは、弊社のiOSアプリ「Studyplus」 のCI環境について紹介しながら、fastlaneでCode Signing Styleを変更する方法を…