タグ

swiftに関するkasahiのブックマーク (567)

  • メタバース開発の実際を、REALITYのiOSエンジニアに聞く - 「意外とネイティブの比重が大きいです」

    – 現在メタバースといえば、VRのイメージが強いです。 清: メタバースという言葉の定義はまだ固まっていないので、社内でもよく議論していますし、それが定義されるプロセスに私達も関わりたいですね。「俺たちが作るものがメタバースだ!」みたいな。 「何がメタバースか」という問いについては、今は個人によっても答えが違うんじゃないかなと思います。あおやまくんはどう考えてる? あおやま: メタバースの定義はいろいろあると思うのですが、一つ間違いないと思っているのは、アバターを使ったコミュニケーションの比重が大きいということです。 そしてVRゴーグルをかぶると、アバターへの自己投射性が上がるので、VRを見据えておくのも必須かなと。VRゴーグルの普及度合いをにらみながら、戦略を練っていくんだと思います。弊社にもGREE VR Studio Laboratoryという部署があり、VRについては研究を進めてい

    メタバース開発の実際を、REALITYのiOSエンジニアに聞く - 「意外とネイティブの比重が大きいです」
  • iOS 14以降をターゲットにiOSアプリ開発するならどんな構造設計をするか 2021初夏

    はじめに この記事はiOS 13以降にもSwift Concurrency(つまりasync/awaitやActorなど)が使えるようになると思っていなかったときに書いたものです。 はなしの準備 雑談として「最近はどんなアーキテクチャでiOSアプリ作るの?」という話題があったので整理の文章を書いてみます。 Appleの性質上、2021年7月でもまだ決め手のようなものはないし、私だったらTCAやVIPERを候補にモジュール分割してなるべくDB使わずに作って必要になったらCore Dataを採用すると思います。 それはそれとして、Android BlueprintのREADMEかなにかでGoogleのソフトウェアエンジニアが「チームが生産性を最大化させるアーキテクチャを選べばいい」なんてことを書いてあったのを読んだ記憶があるんですが、それは最もですねと思いつつも、しかしそもそも選択肢がわからな

    iOS 14以降をターゲットにiOSアプリ開発するならどんな構造設計をするか 2021初夏
  • minne iOSの2021年の開発環境 - Pepabo Tech Portal

    開発言語と主要フレームワーク 95%以上Swiftで、特に古いテストやエンティティはObjective-Cが少しだけあります。新規のものは必ずSwiftで開発していて、残っているObjective-Cは少しずつ減らしています。 使っているSDKのバージョンに関しては、Xcode 12への移行対応が終わっており、近日中に12でビルドしたバイナリーを公開する予定です。 ほぼほぼUIKitですが、いくつかの画面でSwiftUIを使っています。最低対応のSDKはiOS 13なので、LazyStack系やLazyGrid系がまだ使えないのですが、設定周りの画面など、CollectionViewっぽくない画面を今年中にたくさん移行しようと思っています。移行自体は色々考えてプロトタイプを作るなどして、2020年のiOSDCで発表しました。また、UIKitはモダンなAPIを使うように心がけており、例えば、

    minne iOSの2021年の開発環境 - Pepabo Tech Portal
  • 競技プログラマのためのSwiftチートシート

    Swift 未経験者が Swift競技プログラミングに挑戦してみるための、 Swift の基構文や標準ライブラリのチートシートです。競技プログラミングで必要そうなものに絞って掲載しています。より詳しい情報は公式ドキュメント "The Swift Programming Language" を御覧下さい。 チートシートの各項目に素早くアクセスするには、ページ右下の "Contents" をご活用下さい。 Hello World

    競技プログラマのためのSwiftチートシート
  • 肥大化したiOSアプリを課題解決のために半年弱でリアーキテクチャした話 - Qiita

    はじめに 2019年に約半年弱の開発期間で公開中のiOSアプリを リアーキテクチャーした話を備忘録としてまとめました。 サービスインされているアプリを一気に作り直すケースは ビジネス判断的にはかなり危い橋を渡っているのであまり無いとは思いますが 似たような状況で開発に臨んでいる方など、どなたかの参考になれば幸いです😃 開発の背景 2014年から毎年追加改修が走っているストア公開中のECアプリ案件(Objective-C) 画面数で見れば中規模から大規模にカテゴライズ iOSのバージョンについて古いものは毎年切り捨ててく方針 開発メンバーは毎年ほぼ総入替 自分は2018年頃から参加しました 抱えていた課題・技術的負債 受託案件あるあるですが以下の課題を抱えていました。 0️⃣ ピュアObjective-C 1️⃣ 可読性の低い巨大すぎるMVC (MassiveViewController

    肥大化したiOSアプリを課題解決のために半年弱でリアーキテクチャした話 - Qiita
  • iOSエンジニアが読んだら、ためになりそうな本 - Qiita

    はじめに Web系のおすすめは結構見つかるのですが、 iOSエンジニア という枠ではあまり見かけなかったので、思いつくままにリストアップしてみました。他にも良いがたくさんあると思いますが、まずは個人的に(あるいは世間の評価が高い)おすすめのものをあげてみます。 このリストはビギナー向けではありません。すでにiOSエンジニアと呼ばれている方を対象にしています。(別に読んじゃダメといっているわけではないので悪しからず) ざっくりアソシエートとプロフェッショナルに分類はしています。定義はあいまいです。アソシエート側を先に読んだ方が良いかな、程度に思ってください。 表中で ↑は同じ分野を←は同じくためになりそうを示しています。

    iOSエンジニアが読んだら、ためになりそうな本 - Qiita
  • Swiftはじめました - ゼクシィiOSアプリの場合 | Recruit Tech Blog

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

    Swiftはじめました - ゼクシィiOSアプリの場合 | Recruit Tech Blog
  • 使うと手放せなくなるSwift Extension集 (Swift 5版) - Qiita

    こんにちは、たなたつです 汎用性高めのExtension集です。Protocolやstructなども一部含まれています。 使うと手放せなくなるSwift Extension集 (Swift 4版)のSwift 5版です。 (2年ぶりの更新) Swift 5.1の新機能や記法の最適化によって段々と良くなっています。 今回紹介したExtensionは全て下記のリポジトリに入っています。他にも便利な機能がたくさん入っているので、利用したい方はコピペやSwift PM/Carthageで導入してみてください。 https://github.com/tattn/SwiftExtensions ※ Swift 5.1, Xcode 11.2.1 で動作確認をしています。 ※ コード片ごとに紹介していますが、別のコード片のExtensionに依存している場合がありますので、ご注意ください。 ※ これらの

    使うと手放せなくなるSwift Extension集 (Swift 5版) - Qiita
  • 初の個人アプリを App Store に審査出したら 30 分足らずでリリースされてビビったからその全てをお伝えします - Qiita

    明けましておめでとうございます。新しい年ということでアイコンも一新した lovee です。はい、あまりにもビビったのでラノベっぽいタイトルにしてみました。後悔はしていない。 なぜアプリ作ろうと思ったの? いやーそれなりに長い間 iOS エンジニアやってきたけど、業務ではそれなりにたくさんのアプリを作ってきたけど、完全に個人でアプリを作ったことがまだ全くないんですよね。というわけで去年「今年中に個人アプリを出す」という目標を立てました。結局去年中には出せなかったがとりあえずまだ今年度中ということで開き直ってます どんなアプリ? 簡単に言うとただ単にユーザが入力した文字列を QR コードに変換するだけのアプリです。それだけです。でも当の使い方はアプリをいちいち立ち上げて QR コードを作るのではありません。このアプリは iOS ネイティブの共有メニューを対応しているので、別のアプリから共有メ

    初の個人アプリを App Store に審査出したら 30 分足らずでリリースされてビビったからその全てをお伝えします - Qiita
  • 良いコードの書き方 - Qiita

    概要 チームによる継続的開発を前提としたコーディングのガイドライン。 特定の言語を対象としたものではないが、主に静的型付けのオブジェクト指向言語を想定している。 サンプルコードは別段の定めがなければSwiftで記載。 ガイドラインの目的 生産性を高め、メンテナンスコストを下げる バグが生まれづらくする 開発メンバー(特に新規参加者)がコードを理解しやすくする 初心者プログラマー教育 内容の説明 タイトルの頭についた【数字】は重要度。 高いほどシステムに与える影響が大きいが、低いものの方が影響が小さく改修しやすいものが多い。 【5】変数のスコープを小さくする 変わり得る値は複雑さを生み誤解やバグに繋がるため、プログラムは変数が少ないほど問題が生まれづらい。 プログラミングの大原則として、変数は必要最低限を心がけ、むやみに増やさないようにする。 また、変数はスコープや寿命が大きいほど悪影響が

    良いコードの書き方 - Qiita
  • Redux+RxSwift+Realm+RxDataSourcesで日記アプリ - Qiita

  • 🐧🐧🐧iOS開発で誰も教えてくれなかったけど当たり前にやっているSwiftの書き方🐧🐧🐧 - Qiita

    「誰も教えてくれなかった」ってタイトルですが、僕iOS開発に関しては独学でしかやってないので、よく考えたら誰にも教わってないですね🐧🐧🐧 まあなんか、読んでもあんまり明示的には書いてないけど、「皆当たり前にやってるやん!」と思ったことを書いていきます。 (どこかに書いてあるのを見落としただけかもしれませんが) delegateで要求されているprotocolはextensionで書く ルールではないですが、慣習的にextensionで各protocolごとに分離して書いた方がきれいです。 extension SampleMapViewController: MKMapViewDelegate { func mapView(_ mapView: MKMapView, regionWillChangeAnimated animated: Bool) { //do something }

    🐧🐧🐧iOS開発で誰も教えてくれなかったけど当たり前にやっているSwiftの書き方🐧🐧🐧 - Qiita
  • [Swift/ARKit2] 動くポスターを1時間でつくろう - Qiita

    概要 Twitterでこのツイートを見て、「めちゃくちゃ面白い!作ってみたい!」と思い、作ってみました。 前に話題になってたラベルがARで動くワインをアメリカ土産で買ってきた。ボトルの曲面を横や上から見てもちゃんと自然に見えてよく出来てる。 ストーリーでモノを買う時代へと変化している中で、こういうARでプロダクト自体にストーリーを語らせるのは今後も増えるだろうな。 pic.twitter.com/M6I3xqNk7H — KAJI / MESON CEO (@kajikent) 2019年6月4日 実際に作ったものがこれ。映像のトリミング雑ですが。やっていることは極めてシンプルで、ある特定の画像を認識した時にある特定の動画を流してるだけです。 最近の映画DVDは動くのね。すごい。#AR #拡張現実 pic.twitter.com/mRD4ojGT4j — いずみーる(24);毎日個人開発

    [Swift/ARKit2] 動くポスターを1時間でつくろう - Qiita
  • Swift3でiOS用のGPSロガーアプリを作った話 - Qiita

    概要 iOS端末向けGPSロガーアプリを作り、アプリ利用者の動線を記録しようと試みた。 GPSの弱点である、屋根のある室内等の電波の障害となりうるものがある地点において、多数の『位置飛び』が観測された。 データ分析の際にこの位置飛びはノイズとなりうる為、除去が求められる。 この記事は自身のブログに記載した情報を纏め、追記したものである。 背景 ここ数年で日全国に急速に普及したスマートフォン。 最近では世帯あたりの普及率が従来型携帯電話、いわゆるガラケーの割合を追い抜いた1とされている。 スマートフォンには様々な高精度センサが搭載されており、処理能力も高い。 今回はその中でもGPS情報を利用して、アプリを利用している人の位置情報を随時記録するアプリを作成した。 GPSとは 名称 GPSはGlobal Positioning System(全地球測位システム / グローバルポジショニングシス

    Swift3でiOS用のGPSロガーアプリを作った話 - Qiita
    kasahi
    kasahi 2019/07/22
  • 【Swift】スクロールするとある位置に固定されるツールバー - Qiita

    記事を移動しました。 https://zenn.dev/dd_sho/articles/0d630906e868cb 今後は上記の記事で更新します。(2021/10/03) 下図のように一定量スクロールすると固定されるツールバー(緑色のバー)を実装してみたので備忘録として記事にします。 実現する方法はたくさんあると思いますが個人的に一番楽なんじゃないかと思った方法です。 動作イメージ↓↓ 開発環境 Xcode 10.0 Swift 4.2 実装イメージ ソースコードはこちら(後でアップします) 関連箇所の抜粋 以下は一定量スクロールすると固定されるツールバーの実装に関係する箇所の抜粋です。 ①TableHeaderViewの設定 // viewDidLoadで下記のメソッドを呼ぶ private func setupSampleHeaderView() { // 自作したtableHead

    【Swift】スクロールするとある位置に固定されるツールバー - Qiita
    kasahi
    kasahi 2019/04/09
  • Auto Layoutをコードで書いてみた - Qiita

    生成したビューのプロパティにtranslatesAutoresizingMaskIntoConstraintsというものがあり、これをオフにする必要があります。 このプロパティはAuto Layout以前に使われていた、AutoresizingMaskという仕組みで、ビューの動的なサイズ変更を実現していました。 これをAuto Layoutに変換するかどうかを設定するフラグです。 このtranslatesAutoresizingMaskIntoConstraintsは、AutoresizingMaskの設定値を Auto Layoutの制約に変換するかどうかを決めるものです。 デフォルトではtrueになっていて、これをtrueにすると、自分で追加する制約とコンフリクトしてしまうので、特に理由がなければ上記のようにfalseにしておく方がいいです。 NSLayoutAnchorを使ってみる

    Auto Layoutをコードで書いてみた - Qiita
  • 1週間でアプリのパフォーマンスを5倍に改善した話 - Qiita

    Swift Advent Calendar 2018 の 7 日目です。 先日開発中のアプリのプロトタイプを完成させ、自信満々に仲間に見せたところ 「動いてるけど動作重いね、、」 と言われショックで2日間放心状態に陥りました。 しかし!そこから1週間集中的にパフォーマンス改善に取り組み 起動時間を大幅に改善することに成功しました。 今回はその時の取り組み、アホみたいに遅かった原因、結果どれくらい短縮できたのかをまとめました。 ※当然ですが、効果は各プロジェクトの実装に完全に依るものです。あくまで一例として参考にしていただけたらと思います。 ① TIME PROFILERを活用しよう( −5.6s ) まず、基のキとして、Xcode Instrumentsの機能であるTIME PROFILERを使いました。 参考:XcodeのInstrumentsのTime Profilerを使って重たい

    1週間でアプリのパフォーマンスを5倍に改善した話 - Qiita
  • iosの開発を始めたあの日の僕に伝えたいこと。 - Qiita

    0. 自己紹介 entakuです。 元々はSIerでWebエンジニア(JavaとかPHPとか)書いてました。 その前はネットワークエンジニアとかやってました。 今は株式会社LifeSportsでスポーツマッチングアプリ作ってます😀 僕が格的にios開発を始めたのは、今年初めからです。 swiftアプリはUdemyなどで勉強してなんとなくわかるかなとは思っていたのですが、 学習サイトをみながら作ることと、実際にアプリを作って行くことはかなり違いました。 1年弱経って、1年前の自分に伝えたいことをまとめてみました。 1. ViewControllerのライフサイクルをつかもう! xcodeでアプリを作成すると最初にviewControllerが作成されています。 viewControllerには処理の順番があらかじめ決まっており、「このタイミングで処理する」というのを意識しておく必要があり

    iosの開発を始めたあの日の僕に伝えたいこと。 - Qiita
  • iOSエンジニアがAndroidプロジェクトのレビュー効率的にする方法(Swift → Kotlin) - Qiita

    はじめに この記事ではiOSエンジニアAndroidプロジェクトのレビューをしてみて思ったこと(こうしたらいいんじゃね?)をだらだらと書いております。 背景 iOSとAndroidエンジニアが1人ずつしかいないプロジェクトにおいて、レビュー誰もしてくれない問題を回避したいと思いお互いにレビューすればいんじゃね?となったので、実際にやってみた感想とかポイントとかまとめておきます。 もともと他のプロジェクト人にレビューしてもらっていたのですが、仕様がわからないのでそもそもレビューできない等の意見がでたので試してみました。 レビューしてみての全体的な感想 やっぱり言語がわからないのは結構辛い。ただ、if文だけを見れば大体のロジックはわかるのでそこだけ重点的に見るならありかなと。結局の所レビューで何を担保したいのかによるなーと思いました。 仕様的な確認を行いたいのであれば同プロジェクトの人がチ

    iOSエンジニアがAndroidプロジェクトのレビュー効率的にする方法(Swift → Kotlin) - Qiita
  • iOSアプリ開発を楽にできそうなライブラリの見つけ方 - Qiita

    目的 個人や業務でアプリ開発するとき、 「これ多分他の人がライブラリ化してるんだろうな」 や 「この良くある機能作るの大変だ」 と思う機能があると思います。そのとき、ライブラリの情報源を知っていると知っていないとでは開発効率に差が出るので、備忘録も兼ねて紹介します。 主な情報源 職場の人 まず手っ取り早いです。技術が好きなエンジニア勢の人であれば喜んで色々教えてくれます。 が、技術に興味のないエンジニアしか集まっていない職場や、そもそも個人開発している方には厳しいかもしれません。 awesome-swift ありとあらゆる分野のド定番の優良ライブラリが見つかる神ページ。こちらを見るだけでも十分参考になります。 cocoa controls 主にUI 系のライブラリがサムネイル付きで紹介されている神ページその2。UI/UX を凝ったアプリを開発する場合に非常にお世話になります。 Trendi

    iOSアプリ開発を楽にできそうなライブラリの見つけ方 - Qiita