タグ

iosに関するtondolのブックマーク (31)

  • Swiftはじめました - ゼクシィiOSアプリの場合 | Recruit Tech Blog

    はじめに Swift はじめました。と聞くと、読者の方は「いまさら?遅すぎじゃない?」とか、「大切なのは何の言語で書くかよりも設計じゃないの?」などと思われるかもしれません。気持ちはわかります。 しかし実際、ゼクシィアプリのコードベースは今まで Objective-C 100% でした。そして、つい最近、はじめてプロダクションコードとして Swift のコードをリリースすることができました。稿では、そこに至るまでに考えたことや、具体的なやり方を紹介できればと思います。 申し遅れましたが、この記事はゼクシィ iOS アプリの開発を担当している @tondol がお送りします。好きな結婚式ソングは lily white で「ふたりハピネス」です。1)ラブライブ!のキャラクターソングです。わざわざ脚注までお読みいただき、ありがとうございます。 背景 前述の通り、ゼクシィアプリはこれまで Obj

    Swiftはじめました - ゼクシィiOSアプリの場合 | Recruit Tech Blog
    tondol
    tondol 2020/02/14
    大規模アプリのSwift化、正直大変です……!という話を書きました
  • XcodeGenでiOSチーム開発でのストレスを軽減する | Recruit Tech Blog

    概要 チームで iOS 開発をする際 xcodeproj ファイルはコンフリクトが発生しやすい状況となります。 XCodeGen というツールを用いて xcodeproj ファイルのコンフリクトと解消にかかる手間暇を回避していきます。 動機 xcodeproj ファイルは、 プロジェクトのファイル構成や設定など様々な情報を保持しているファイルです。プロジェクトにファイルを加えただけで変更されるので、 差分が入りやすくチーム開発の際にコンフリクトしやすくなっています。加えて、 xcodeprojファイルは独自の構造を持っているため、 中身を読んで理解するのは容易ではありません。 これらの性質のため、 iOS のチーム開発にて xcodeproj ファイルはコンフリクトしやすい上に修正が容易ではないので、 コンフリクト解消には手間暇がかかることもあり何度も続くとストレスになりえます。 Xcod

    XcodeGenでiOSチーム開発でのストレスを軽減する | Recruit Tech Blog
    tondol
    tondol 2020/01/22
    ウチのプロジェクトも導入したい!
  • MXParallaxHeaderとTabmanでTwitterのプロフィール画面のようなヘッダーとページングメニューをサクッと実装する | Recruit Tech Blog

    この記事は RECRUIT MARKETING PARTNERS Advent Calendar 2018 の投稿記事です。 スタディサプリ オープンキャンパス・スタディサプリOCカメラを通して、日々高校生と向き合っている平井(33)です。 Twitterのプロフィール画面のようなスクロール量に応じてインタラクティブに変化するヘッダーとページングメニューやスワイプによるシームレスなコンテンツの切り替えを備えた画面を作りたいと思ったことありませんか? でも、この画面を自前で実装するのってすごく大変ですよね。 というわけでこの記事では、Twitterのプロフィール画面の構成とハマりどころを押さえつつ、OSSを組み合わせてサクッと実装する方法を紹介します。 サンプルプロジェクトは下記より取得できます。 yutu/TwitterProfileExample おおまかな画面構成 Twitterのプロ

    MXParallaxHeaderとTabmanでTwitterのプロフィール画面のようなヘッダーとページングメニューをサクッと実装する | Recruit Tech Blog
    tondol
    tondol 2018/12/20
    便利っぽい!
  • iOS アプリの CI 環境を CircleCI 2.0 に移行したら結構便利 | Recruit Tech Blog

    皆さんこんにちは/こんばんは! キッズリー という保育園向けサービスで iOS アプリを担当している保坂 (智) です。1)4 月から同じチームにもう 1 人の保坂さんが新卒で入社したので、わたしは主にハンドルネームで呼ばれています。最近は ソウルに行ったり スキューバダイビングしたり していました。がんばルビィ。 弊社では以前から多くのプロジェクトで CI 環境に CircleCI を活用しています。わたしが担当しているキッズリーの iOS プロジェクトでも、 CircleCI 1.0 の頃からユニットテストの実行や DeployGate でのテスト版の配信などを CI ジョブとして実施していました。 そんな折、 Circle CI 2.0 が iOS プロジェクトのビルドにも対応した とのことなので、今回思い切って CI 環境を Circle CI 2.0 に移行してみました。その結果

    iOS アプリの CI 環境を CircleCI 2.0 に移行したら結構便利 | Recruit Tech Blog
    tondol
    tondol 2017/12/15
    書きました!CircleCI 2.0 使っていこ↑↑
  • ちいさく始めるレイヤードアーキテクチャ | iOSDC Japan 2017

    巷にはMVVM、Clean Architecture、Fluxなど、キラキラしたアプリ設計の話題が溢れています。「でも、新しい設計を導入するのは新規案件じゃないと難しいし、自分の普段の業務とは無縁だなあ」...そう思ってはいませんか? このトークでは、技術的負債を抱えたiOSアプリにレイヤードアーキテクチャを導入した体験談と、ボイラープレートを少なめに、「ちいさく」レイヤードアーキテクチャを導入するTipsをご紹介したいと思います。

    ちいさく始めるレイヤードアーキテクチャ | iOSDC Japan 2017
    tondol
    tondol 2017/07/24
    Swift未経験でアプリ開発を引き継いだ1年半前に知りたかったことをトークに詰め込むゾイ。アーキテクチャ関連はマサカリが怖いけど精一杯資料作ろうと思っておりますのでよろしくお願いします。
  • Layered Architecture x RxSwiftを活用した適切なエラーハンドリング | iOSDC Japan 2017

    エラーハンドリングは必要不可欠です。適切なエラーを表示することでユーザーを適切な操作に導くことができるからです。しかし、エラーを適切に扱うことはとても困難です。なぜならエラーには様々な状況で発生するからです。エラーを適切な種類に分類するためにEmbedded Frameworkを利用したLayered Architectureを採用し、エラーの状態を扱うためにRxSwiftを採用します。この組み合わせで開発者に従来の負担を軽減して、適切なエラーを表示するサポートをします。

    Layered Architecture x RxSwiftを活用した適切なエラーハンドリング | iOSDC Japan 2017
  • 【WWDC2017】Vision.framework のテキスト検出を試してみました【iOS11】 | PSYENCE:MEDIA

    【WWDC2017】Vision.framework のテキスト検出を試してみました【iOS11】 保坂智之 2017.06.13 109 14451139 はじめに こんにちは! リクルートマーケティングパートナーズで iOS アプリの開発を主に担当している保坂です。弊社の井原と共に 6 月 5-9 日に開催された WWDC 2017 に初参加してきました。Keynote では iOS 11 や macOS High Sierra などの発表があり、開発者の一人としてもワクワク感に溢れた1週間になりました。 今回は、iOS 11 で新規追加されたいくつかの Framework の中から Vision.framework という画像処理の機能を提供する標準ライブラリを試してみました。サンプルプロジェクトも用意しましたので、『どんな感じで使えるのかな?』と興味を持っている方に読んでいただける

    【WWDC2017】Vision.framework のテキスト検出を試してみました【iOS11】 | PSYENCE:MEDIA
    tondol
    tondol 2017/06/13
    書きました
  • 【Kyobashi.swift x AKIBA.swift】クラスメソッドさんと合同でSwift勉強会を開催しました! | Recruit Tech Blog

    このブログでははじめまして!2016年度新卒エンジニアの保坂です。2017年2月8日(水)にクラスメソッド株式会社さんと合同でSwift勉強会を開催しましたので、その様子を早速レポートします! https://kyobashi-swift.connpass.com/event/48794/ Kyobashi.swift x AKIBA.swift とは? 弊社リクルートマーケティングパートナーズが東京・京橋近辺で開催している Kyobashi.swift とクラスメソッドさんが秋葉原近辺で開催している AKIBA.swift を、せっかくだから同時に開催してしまおう!という欲張りな勉強会です。今回は弊社リクルートマーケティングパートナーズとQuipper社のスペースにて開催しました。 Kyobashi.swiftもAKIBA.swiftSwiftやその周辺技術が対象ということで、今回の合

    【Kyobashi.swift x AKIBA.swift】クラスメソッドさんと合同でSwift勉強会を開催しました! | Recruit Tech Blog
  • iOS CleanArchitectureを使ってみた感想 - hachinoBlog

    CleanArchitectureを使ったサンプルアプリを作成したので、説明していきたいと思います サンプルアプリ まず、作成したアプリについてです Qiitaのクライアントです 認証 投稿一覧 詳細 ユーザー投稿一覧 詳細 ソースコード https://github.com/hachinobu/CleanQiitaClient 使い方 一応そのままビルドしてもビルドは通りますが認証していない状態なのでAPIコール制限とストックボタンなどは動かないです 認証したい場合は下記からアプリケーションの登録をしてください https://qiita.com/settings/applications/new リダイレクト先のURLをサンプルソースコードでは固定にしてしまっているので clean-qiita-client://oauth で登録すると楽です Client IDとClient Secr

    iOS CleanArchitectureを使ってみた感想 - hachinoBlog
    tondol
    tondol 2016/10/24
    コードの実例があると自分で真似するときに超助かる、ありがとうございます
  • スクールガールストライカーズの 内製クライアントエンジン

    近年、ハイスペックなスマートフォン、高品質なネットワークが普及し、それによりモバイルゲームの制作手法やそれを取り巻く環境も変化してきました。スクウェア・エニックスでは、そのような環境の変化に対して、日々新たなチャレンジをし続けています。そして、このようなスピード感溢れる業界の流れには、会社の枠を超えた技術情報の共有、交流が欠かせないと感じております。 そこでこの夏、社内のエンジニア・テクニカルディレクターによる最新のモバイル開発の技術情報や社内モバイルエンジン、開発秘話によるセッションをメインに、スクウェア・エニックス モバイル オープンカンファレンスを開催する運びとなりました。また、セッションの後は登壇する弊社スタッフと直接ディスカッションやフリートークができる場を設けております。この機会にスクウェア・エニックスという会社についても、より詳しく知って頂ければ幸いです。 マネージャー・テク

  • AVFoundation, how to turn off the shutter sound when captureStillImageAsynchronouslyFromConnection?

    I am trying to capture an image during a live preview from the camera, by AVFoundation captureStillImageAsynchronouslyFromConnection. So far the program works as expected. However, how can I mute the shutter sound?

    AVFoundation, how to turn off the shutter sound when captureStillImageAsynchronouslyFromConnection?
    tondol
    tondol 2014/05/26
    ウケる
  • iOSアプリケーション開発のコードレビューで気をつけていること - ninjinkun's diary

    日常的なコードレビューで気をつけていることリストです。GitHub会議(仮)で発表しようと思っていたのですが、日程の都合で参加できないので、書きためておいたメモを公開します。またどこかで発表するかもしれません。 AutoLayoutにできないか AutoLayout化した方がすっきりしそうならAutoLayout化する AutoLayout化できそうなものでやっていないものは、なぜコードで実装したか質問する 例えばUITableViewCell ちゃんと理由があれば別に良い。コードの方が良いことも多い UIAppearanceで解決できないか 各クラスの中にスタイルの指定が入るより、UIAppearanceでスタイル指定を分離して別クラスに書く方がデザイナーも弄りやすくて良い 3.5インチ端末が考慮されているか レイアウトが決め打ちだとここで問題が出ることが多い 着信ステータスバーが考慮さ

    iOSアプリケーション開発のコードレビューで気をつけていること - ninjinkun's diary
  • メモリ管理・レイアウトの観点からみた UIViewController の view の扱い - jarinosuke blog

    self.view iOS 開発において、UIViewController の view の振る舞いは一番理解しておきたい点の一つです。 今回はその view に対して、メモリ管理とレイアウトの2つの視点を交えてアプローチを行い、 UIViewController の subclass を作成する上で、 UIViewController の各メソッドにどんな処理を書くべきか、そして何を書くべきでないか を説明出来ればなと思っています。 iOS 6 以降からを対象として考えていますので、 iOS 5 以前は取り扱いません。 self.view の振る舞い 扱いを学ぶには、まず対象の振る舞いを把握する事からです。 ライフサイクルとレイアウトサイクルの2点から簡単に復習します。 self.view のライフサイクル UIViewController の view がどのようなタイミングで生成され

  • なめらかに動作するUITableViewのつくりかた

    矢口裕也です。 Advent Calendar 10日目はiOSのUITableViewの話をします。 ぼやき iOSアプリを開発していると70%くらいの時間はUITableViewに費やしている気がしてきます。 UITableViewは非常にめんどうなものですが、パフォーマンスがシビアでかつユーザーの快適さに直結するものなので大いに手間をかける価値があります。 この記事ではガクガク処理落ちするUITableViewを例として改善していきながら快適なUITableViewのつくりかたを解説します。 目的 以下のケーススタディでは次の目的でコードを改善していきます なめらかに動くようにする ここでのポイントは実際速くなくてもユーザが快適に感じればOKである、ということです。処理速度が高速である必要はありません。 戦略 UITableViewでのパフォーマンス問題は次の2点であることが多いです

    なめらかに動作するUITableViewのつくりかた
  • ARC 使用時の __bridge などについて | Balun Software (Info)

    ARC (Automatic Reference Counting) を使用することによって、 retain や release をコード上明記しなくてよくなりますが、Toll-Free Bridging においては、__bridge などを指定して cast する必要が出てきますが、そこがここ一つ複雑です。 “Transitioning to ARC Release Notes” での記述 Apple のドキュメント、”Transitioning to ARC Release Notes” の “Managing Toll-Free Bridging” において、以下の記述があります。 If you cast between Objective-C and Core Foundation-style objects, you need to tell the compiler about

  • weakify/strongify マクロを使うと weak self パターンが簡単に書ける - Qiita

    ブロックの外で定義された変数をブロック内で使うとき、その変数はブロック内に strong 参照でキャプチャされる。場合によってはこれが循環参照を引き起こすことがある: // self が block を strong 参照→ block が self をキャプチャ(strong 参照) self.aStrongProperty = ^{ NSLog(@"self = %@", self); };

    weakify/strongify マクロを使うと weak self パターンが簡単に書ける - Qiita
  • iOS7ステータスバー対策まとめ - Qiita

    iOS7ではスタースバーは透明、ナビゲーションバー、タブバー、ツールバー、検索バー、スコープバーは半透明。一般的なルールとしてコンテンツの上にこれらのバーを被せることを想定しスタースバーの下に何もバーがないならコンテンツはフルスクリーンコンテンツにすべき。とある。 iOS7 フレームワーク判定 iOS 7 UI Transition Guideにはこんなやり方が書いてある。場合によってはバージョンよりもNSFoundationVersionNumberを使うほうが意図が明確になる。 if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) { // Load resources for iOS 6.1 or earlier } else { // Load resources for iOS 7 o

    iOS7ステータスバー対策まとめ - Qiita
  • Bluetooth LEの解説本、第1章 - Reinforce-Lab.'s Blog

    Bluetooth Low Enrgyとは Bluetooth3.0までのBluetoothと、Bluetooth4.0で統合されたBluetooth Low Energy(ブルートゥース ロー エナージー、以下 Bluetooth LE)は、技術も使われ方も、まったく異なるものです。 書では、Bluetooth3.0までの技術と、Bluetooth LEを区別するために、このBluetooth3.0までの技術をクラシックBluetoothと呼びます。 この章は、クラシックBluetoothとBluetooth LEの違いを述べます。アプリケーション開発やハードウェアの開発と製造販売、使われ方それぞれで、Bluetooth LEだからできるようになったことが、たくさんあります。自分の担当分野が技術でなくても、企画立案やメンバー全員でのブレイン・ストーミングの前に、この章の知識をメンバー全

  • アプリ彼女の中の人へのインタビュー前編「アップルのアプリ審査担当者が独裁者対応」 - ソーシャルゲームマニアクス|SGマニアクス

    マイクロソフトと「Happy Wars」スクウェア・エニックスと「ドラゴンクエストX 目覚めし五つの種族 オンライン」のように、コンシューマーゲーム向け開発会社としてゲーム業界で活動してきた株式会社トイロジック。 そんなトイロジックが今回はじめてソーシャルゲームを開発した。その名も「アプリ彼女」。育ててバトッてイチャイチャする?新感覚育成恋愛ゲームと銘打たれたアプリ彼女はどのような経緯を辿って開発されたのか。ソーシャルゲームマニアクス編集部がインタビューをしてきました。 「アプリ彼女のコンセプトとは」 「アプリ彼女はどのようにして制作されたのか」 アプリ彼女の制作上のあれこれをしっかり聞きだしてきましたので、前編後編の二部構成でお伝えいたします。 トイロジック寺尾さん: 「日はよろしくお願い致します。トイロジックでプランナーをしております寺尾と申します。アプリ彼女では、リリースまで

  • iOSのカメラ機能を使う方法まとめ【13日目】 | DevelopersIO

    尚、今回のサンプルではカメラを使用するので、実機を利用できるようにしてください。 1.UIImagePickerControllerを使う UIImagePickerControllerの導入は非常に簡単です。一般的にUIImagePickerControllerは他のビューコントローラからモーダルビューとして表示します。まず、ViewController.hを開き、以下のように編集してください。 ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewController <UINavigationControllerDelegate, UIImagePickerControllerDelegate> @end UIImagePickerControllerを使用する場合、今回の呼び出し元となる