並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 51件

新着順 人気順

UIButtonの検索結果1 - 40 件 / 51件

  • メルペイのQRコードスキャン機能(QRScanner)を、OSSにしました | メルカリエンジニアリング

    Merpay Advent Calendar 2019 の12日目は、 Merpay iOS チームの @hitsu がお送りします。 目次 QRScannerとは OSS開発の背景 QRScannerの特徴 使い方 基本な使い方 カメラのアクセスを許可 QRScannerの導入方法 CocoaPodsを使う場合 Carthageを使う場合 カスタマイズ ソースコードでカスタマイズ Interface Builderでカスタマイズ フラッシュボタンを使いたい場合 内部実装 主要な実行フロー アニメエフェクトの実装 終わりに QRScannerとは 数行のソースコードでiOS13と同じようなQRコードスキャン機能を実装できるフレームワークです。 GitHub – mercari/QRScanner: A simple QR Code scanner framework for iOS. Pr

      メルペイのQRコードスキャン機能(QRScanner)を、OSSにしました | メルカリエンジニアリング
    • SwiftUIと宣言的UI

      SwiftUIと宣言的UI SwiftUIの登場によりiOSでも宣言的UIを意識してUIを構成する日々が始まりました。 この記事ではそもそも宣言的UIとは何か。また、宣言的UIの利点やSwiftUIで宣言的UIを実現するためにどういう機能が提供されているかを書いていきます。 また、SwiftUIで提供されている状態管理についても解説します。 宣言的UIと命令的UI そもそもの宣言的UIと命令的UIがどういうものかを見ていきましょう。言葉にすると下のような違いがあります 宣言的UI: 何でViewが構成されているのか記述されている 命令的UI: どのようにViewが構成されているのか記述されている 具体的な例とともに見ていきます 命令的UI まずは命令的UIです。UIKitで書いていきます。ここでは命令的UIの説明に集中したいので実際の動くコードではなく省略したもので書いていきます。実際の動

        SwiftUIと宣言的UI
      • noteのiOSアプリで実装したアクセシビリティの全て(文字起こし) #iosdc #a|かっくん / iOS Developer

        動画も字幕付きでYouTubeにあげていますので、iOSDCで観れなかった方、もう一度観たい方はよければみてください。(チャンネル登録、高評価もしてもらえると嬉しいです。) 文字起こしnoteのiOSアプリで実装したアクセシビリティのすべてというタイトルで発表します。 最初に自己紹介です。 note株式会社でiOSアプリエンジニアをしている植岡和哉と申します。 Twitter, GitHub, Qiita, noteなどはすべてfromkkというアカウントで活動してるのでよかったらフォローしてください。 最初にnote株式会社について説明させていただきます。 note株式会社は2011年12月8日に設立されたデジタルコンテンツの企画、制作、配信、デジタルメディア運営のためのシステム開発サービス提供を事業とする会社です。 2012年9月にスタートしたcakesは多数のクリエイターや出版社と提

          noteのiOSアプリで実装したアクセシビリティの全て(文字起こし) #iosdc #a|かっくん / iOS Developer
        • デザイナーのためのiOS実装入門|田畑浩平 | Flutter Engineer

          先日、友人のデザイナーさん達とランチした際に、1人のデザイナーさん(Webデザインがメイン、軽いコーディングまでなら経験あり)が ・iOSアプリデザインやUXデザインにも興味ある ・より良いデザインやユーザー体験を実現できるようになるために アプリ開発もしてみたい(特にデザイン上の制約を知るために) と言っており、同じニーズを持つデザイナーさんやディレクターの方も多そうだったので、この記事を書いてみました。 対象読者 ・iOSアプリのUI面で、できる/できるけどしんどい/できないことを知りたい デザイナー、ディレクター 解説すること ・アプリで画面が表示されるまでの仕組み ・アプリの画面を実装する上でよく使うコンポーネント(パーツ) ・気をつけるべきポイント 実際の実装については、Qiitaなどでいくらでも解説されていると思いますので、イメージを掴んでもらうための概念的な説明をメインにして

            デザイナーのためのiOS実装入門|田畑浩平 | Flutter Engineer
          • Sign in with AppleでのiOSアプリとサーバーとの連携 - コネヒト開発者ブログ

            こんにちは!エンジニアの柳村です。 Twitterなどの3rd partyのログイン機能を提供しているアプリは6/30までに対応が必要です。(2ヶ月延期されましたね!) アプリ単体でSign in with Appleをできるようにするのはとても簡単です。しかし大抵のアプリの場合はそれだけでは完結せず、サーバー側でSign in したユーザーと紐付ける必要があります。 サーバー側はFirebase AuthenticationやAuth0といったIDaaSにまかせるという手もありますが、今回は自前で実装することを前提にその実現方法を見ていきたいと思います。 全体の流れ クライアント側とサーバー側のざっとした流れはこのようになります。 sign in with apple flow クライアントからサーバー側にid_tokenを渡すやり方とauthorization_codeを渡すやり方の2

              Sign in with AppleでのiOSアプリとサーバーとの連携 - コネヒト開発者ブログ
            • Firebase ML Kitのテキスト認識×翻訳を使ってアプリを作ってみた | エンジニアブログ

              こんにちは。graphy事業部の遠藤と申します。 Firebase ML Kitを検証するため、一部の機能を使って簡単にアプリを実装してみました。今回はその詳細について記載していきたいと思います。 Firebase ML Kitとは Firebase ML Kitを使うことで、機械学習の機能をアプリに実装することができます。主な機能としてはテキストの認識、顔検出、ランドマークの認識、バーコードのスキャン、画像のラベル付け、テキストの言語の識別など機能をライブラリを通して簡単に利用することができます。Firebase ML Kitはまだベータ版となっております。詳しくは公式ドキュメントを参照してください。 今回は、カメラで写真を撮って画像上の英語を日本語に翻訳できるiOSアプリを実装してみようと思います。 Firebase ML Kit導入 XcodeでiOSの新規プロジェクトを作成して、ア

                Firebase ML Kitのテキスト認識×翻訳を使ってアプリを作ってみた | エンジニアブログ
              • UINavigationControllerをカスタマイズ 〜OSの影響を受けづらいカスタムナビゲーションの実装〜 - クックパッド開発者ブログ

                こんにちは、モバイル基盤部のヴァンサン(@vincentisambart)です。 iOS 15とXcode 13がリリースされました。最新のiOS SDKでビルドしてみたら、カスタマイズされたナビゲーションバーに修正が必要だったアプリが少なくなかったようです。しかし、iOS版のクックパッドアプリでは大きくカスタマイズされているナビゲーションバーを使ってはいるものの、iOS 15に合わせてナビゲーションバーに手を入れる必要は特になかったです。 iOS版のクックパッドアプリは最近様々な形のナビゲーションバーを使っています。例えばおすすめタブはスクロールするとナビゲーションバーの高さが変わります。 また、さがすタブは画面によってナビゲーションバーの中身や高さが違いますし、レシピ詳細ではスクロールするとレシピ名がナビゲーションバーに入ります。 なぜiOS版のクックパッドアプリには修正が必要なかった

                  UINavigationControllerをカスタマイズ 〜OSの影響を受けづらいカスタムナビゲーションの実装〜 - クックパッド開発者ブログ
                • Google製アクセシビリティテスト自動化フレームワーク「GTXiLib」で小さく始めるAccessibility Testing

                  Android/iOSのテスト自動化に関する知識を共有する勉強会「年末だよ Android/iOS Test Night - 2019」が2019年12月16日に開催されました。DeNAのAndroid・iOSの各PFからテスト自動化・CI/CDに知見のある登壇者を招いてLTを実施。「GTXiLibで小さく始めるAccessibility Testing」に登壇したのはsatoshin21氏。登壇資料はこちら GTXiLibで小さく始める Accessibility Testing satoshin21氏:よろしくお願いします。「GTXiLibで小さく始める Accessibility Testing」というタイトルで発表させていただきます。 今日はAccessibilityをテーマに話します。まずAccessibilityについてなのですが、これは高齢者や障がい者も含めてあらゆる人がどの

                    Google製アクセシビリティテスト自動化フレームワーク「GTXiLib」で小さく始めるAccessibility Testing
                  • Xcodeでボタンを押すとテキストが変わる簡単なアプリをつくってみるよ | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

                    どうも、ハルです。 アイドル沼が止まりません。カメラ沼が止まりません。 今回は、Webエンジニアがネイティブアプリに挑戦したよ! 的な記事なので過度な期待はしてはいけません! ネイティブアプリ作ったことないという方! 一緒に作ってみてこんな感じにできるんだーという感動を一緒にどうぞ! こんなものをつくるよ ボタンとテキストを用意して、ボタンを押すとテキストが変わる、ザ初心者のはじめてのアプリを作ってみたいと思います。 プロジェクトの準備 Xcodeを立ち上げます。 この画像でいう、真ん中の「Create a new Xcode project」を選択します。 テンプレートの選択で「Single View App」を選び「Next」。 プロジェクトの設定をします。 Product Name:気合いを入れてアプリ名を入力しましょう。 Organization Name:あなたの名前を入力しまし

                      Xcodeでボタンを押すとテキストが変わる簡単なアプリをつくってみるよ | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
                    • iOSでモダンなカスタムボタンを作ってみよう - クックパッド開発者ブログ

                      お久しぶりです。モバイル基盤部のヴァンサン(@vincentisambart)です。 iOS標準のボタンクラスUIButtonが10年前に作られたものであって、当時存在していなかったAuto LayoutやDynamic Typeとの相性がよくありません。 Auto Layout、Dynamic Type、複数行表示、を活用するカスタムなボタンクラスを作ってみれば少し勉強になるかもしれません。 因みにDynamic Typeはあまり使われていない機能だと思われることがあるようですが、気になって調べてみたら、クックパッドのiOSアプリのユーザーの中で、3分の1がシステム標準でない文字サイズを使っていました。その半分が標準より小さい設定を使っていて、もう半分が標準より大きい設定を使っています。「さらに大きな文字」を有効にすると選べる「アクセシビリティサイズ」を使っているユーザーは全ユーザーの1

                        iOSでモダンなカスタムボタンを作ってみよう - クックパッド開発者ブログ
                      • SwiftUI / UIKit (Storyboard) ハイブリッド対応、Needle + RIBs インスパイアな iOS アプリケーションデザイン - メドピア開発者ブログ

                        こんにちは、モバイルアプリを開発しています高橋です。交互に仕事場に猫二匹がやってきて監視されながら仕事しています。 先日リリースしたとある iOS アプリは、 機能は機能ごとに分割して実装したい 依存解決のコードは自動生成したい ライトウェイトな設計としたい というコンセプトの元、コンパイルセーフな DI フレームワークの uber/needle を使い、uber/RIBs のようなアプリケーションアーキテクチャでデザインすることで、各コンポーネントをコンパクトに分割することができました。 Needle や RIBs が前提知識となります。そのため本記事ではざっと Needle と RIBs を解説したのちに、具体的なコードを交えて SwiftUI + UIKit (Storyboard) ハイブリッド対応でかつ Needle + RIBs インスパイアなアプリケーションアーキテクチャの一

                          SwiftUI / UIKit (Storyboard) ハイブリッド対応、Needle + RIBs インスパイアな iOS アプリケーションデザイン - メドピア開発者ブログ
                        • 「Hello, Custom Keyboard!」SwiftUIでカスタムキーボードを作成してみる | DevelopersIO

                          ふと、カスタムキーボードが作成したいと思ったのでカスタムキーボード作成の第一歩に踏み出してみることにしました。 カスタムXibでキーボードのViewを作成する記事はあったのですが、SwiftUIでViewを作成しているものはあまりなかったので記事にしてみることにしました。 環境 Xcode 14.1 iOS 16.1 準備 まずはXcodeで新規プロジェクトを立ち上げます。 最初はAppのテンプレートを選択します。 オプション設定では任意のプロジェクト名を設定し、Interfaceは、SwiftUIとStorybaordのどちらでも問題ありません。 プロジェクトが作成できたら、次はプロジェクト > TARGET の下部分にある+ボタンからカスタムキーボード用のエクステンションを追加します。 +ボタンを押すと、ターゲット追加用のポップアップが表示されます。Custom Keybaord Ex

                            「Hello, Custom Keyboard!」SwiftUIでカスタムキーボードを作成してみる | DevelopersIO
                          • inputViewを使ってカスタムキーボードをつくろう!(Swift) - Qiita

                            はじめに UITextField や UITextView で入力する際はキーボードの入力タイプが色々用意されていますが実はこのキーボード色々カスタムができます! たぶん実用的なのは UIPickerView とか UIDatePicker を表示したりとかです(なんか昔半角カナ用キーボードを作った記憶があるけどあんまよくなかった)。 これからはもう UIKit を使うことも少なくなっていくのかもしれませんが備忘録として。。。 *注:「つくろう」って書きましたがとくにカスタムキーボードを薦めるものではありません。 UITextFieldをカスタマイズ 試しに UITextField のキーボードをカスタムしてみます。やり方は簡単で inputView に任意の View を設定するだけで OK です // こんなのとか let keyboard = CustomKeyboardView(f

                              inputViewを使ってカスタムキーボードをつくろう!(Swift) - Qiita
                            • iOS14から登場したウィジェット(WidgetKit)の開発過程で感じた今までのウィジェット(Today Extension)との違い - coincheck tech blog

                              1. はじめに こんにちは、UX部モバイルグループにて主にiOS開発を担当している山崎です。 iOS14から今までのウィジェット(以下「Today Extension」と呼びます)に加え、ホーム画面に置ける新しいウィジェット(以下「WidgetKit」と呼びます)が導入されました。 ↓ iOS14から登場した新しいウィジェット(WidgetKit) ↓ iOS13以前もあった今までのウィジェット 2020年6月にToday Extensionに騰落率順に通貨を並び替えることができる機能を追加し、お陰様で多くのお客様に使っていただくことができました。そこで今回新しく追加したWidgetKitでも騰落率順に通貨を並び替えることができる機能を搭載してリリースいたしました。 TodayExtensionに新機能を追加した際実装を担当しブログを書いたのですが、今回のWidgetKitも私が実装を担当

                                iOS14から登場したウィジェット(WidgetKit)の開発過程で感じた今までのウィジェット(Today Extension)との違い - coincheck tech blog
                              • iOS14からはaddTargetじゃなくてaddAction - コネヒト開発者ブログ

                                こんにちは、コネヒトでiOSエンジニアをやっていますyanamuraです。 これは iOS Advent Calendar 2020 の 4日目の記事です。 TL;DR UIKitのUIControl系のView(UIButtonなど)ではタップ時のアクションをコードで実装するときは、標準のAPIだとaddTargetを用いる必要がありました。addTargetだとclosureが使えずいちいち関数を定義しなければならなかったり、@objcをつける必要があったりと面倒でした。 // addTargetでやるパターン @IBOutlet weak var button: UIButton! override func viewDidLoad() { super.viewDidLoad() button.addTarget(self, action: #selector(doSomething

                                  iOS14からはaddTargetじゃなくてaddAction - コネヒト開発者ブログ
                                • iOSでバックグラウンドファイルアップロード - OPTiM TECH BLOG

                                  こんにちは、R&Dチームの中村です。最近 iOSアプリでファイルをバックグラウンドでアップロードしたい という場面に出くわしたので、その時に調べたこと・実際に手を動かして確認するために作った簡素なアプリをまとめます。意外とバックグラウンドダウンロードに関してはそこそこあるものの、アップロードに関してまとまったものが少なかったというのも動機の1つです。確認している手元の環境は以下のようになります。 MacBook Pro 2012 Mid macOS Mojave 10.14.6(18G3020) Xcode Version 11.3 (11C29) Swift 5.1 iOS Simulator Version 11.3 iPhone 8 (iOS 13.3) 2019年のiOSバックグラウンド事情 目標 バックグランドアップロードの下調べ やってみる アップロード先サーバーの準備 Ima

                                    iOSでバックグラウンドファイルアップロード - OPTiM TECH BLOG
                                  • 【今日からできる】SwiftUI/Combineのユニットテスト - Qiita

                                    こちらの記事は、YUMEMI.swift #9 ~テストと自動化~で発表した内容をもとに書いたものです。 サンプルプロジェクトはこちらにあります。 SwiftUIには公式のテスト用APIが用意されていない UIKitなら例えば以下のようにテストを行うことができます。 let viewController = ViewController() // viewDidLoadを呼ぶためのメソッド viewController.loadViewIfNeeded() // subviewsからボタンを検索 let button = viewController .view .subviews .first(where: { $0 is UIButton }) // 存在確認 XCTAssertNotNil(button) // タップイベントを発火 button!.sendActions(for:

                                      【今日からできる】SwiftUI/Combineのユニットテスト - Qiita
                                    • iOSカスタムキーボードの作り方 - Qiita

                                      導入 iOS8 からカスタムキーボードが解禁となりましたが、その開発方法を網羅的にまとめてある場所がありません。本記事では iOS カスタムキーボード開発に関するあらゆる知見をここに集約していきたいと思っています。 iOS カスタムキーボードの基本 カスタムキーボードのプロジェクト立ち上げ キーのレイアウト方法 キーを押して文字を挿入する方法 キーを押して文字を削除する方法 カーソルの位置を動かす方法 キーを押した時に音を鳴らす方法 画面の向きに応じてレイアウトを変更する方法 フルアクセスのオンオフをチェックする方法 設定アプリを作る方法 収容アプリ名とキーボード名の付け方 ノッチあり iPhone に対応させる方法 スペルミスチェックや補完をする方法 日本語入力をする方法 左右端のキーの反応速度を正常にする方法 下端をスワイプしてもコントロールセンターを出現させない方法 実装不可能だと思

                                        iOSカスタムキーボードの作り方 - Qiita
                                      • iOSアプリ初リリースからこれまでにApp Store Reviewチームからリジェクトされた理由5選 - Qiita

                                        私の最初のアプリ(WalCal)をAppStoreにリリースしてから、約9ヶ月が経ちました。リリースから今まで計7回AppleReviewの審査リジェクトされました。今回はそのリジェクト内容を紹介します。 1. 画像が鮮明ではない WalCal(ウォーカル)の決済画面に利用可能なクレジットカード会社(VISA, JCB, MasterCard)のロゴ(UIImageView)をStackviewを使い表示しているのですが、これが全体的に伸びてしまったいたためでデザイン面でApple Reviewチームからリジェクトを食らいました。 対処法はUIImageViewのContentModeをScaleAspectFillで設定していたのを、scaleAspectFitに変更しました。 以下がコードです。 func setupView() { //StripeSDK内のクレジットカード画像アセッ

                                          iOSアプリ初リリースからこれまでにApp Store Reviewチームからリジェクトされた理由5選 - Qiita
                                        • メルペイiOSチームのスナップショットテストを効率化した話 | メルカリエンジニアリング

                                          Unitテストはロジックを担保するために作成するもので、レイアウト確認には適していません。 UIテストやマニュアルテストでは、アプリを操作し画面を確認します。 ただし、アプリを操作するためのデータは実際のユーザーとほぼ同じ環境で作成しなければいけません。 メルペイでは@vvakameさんがMerpay Advent Calendar 2020 4日目に「テスト用お客さまデータ作りツール user-tkool の近況」で公開したように、テストに必要なお客さまデータを簡単に作成できる仕組みが整っています。 またテストの環境がクライアントに閉じず、通信状態やサーバーの状態に依存するといった不確実性を伴います。 スナップショットテストはコードからViewをレンダリングして画像に出力することで、アプリを起動しなくても画面の確認・比較をするテストです。 そのため、モックデータを差し込めるので、安定した

                                            メルペイiOSチームのスナップショットテストを効率化した話 | メルカリエンジニアリング
                                          • iOS ReplayKitを調べてみた - Qiita

                                            iOS ReplayKitを調べた内容を纏めてみました。 環境 macOS Big Sur 11.0 Beta Xcode 11.6 実機 iOS 13.6 機能概要 ReplayKitの主な流れ ReplayKitはiOS9から追加 iOS11からアーキテクチャが変更され、RepalyKit2に iOS11からコントロールセンターの画面収録機能が追加 ReplayKitには、主に2つの機能がある 1. 画面録画 1.1. Screen Recording(iOS9〜) 実行中のアプリを録画し、プレビューコントローラーから写真や共有で保存 1.2. In-App Screen Capture(iOS11〜) 実行中のアプリを録画した映像と音声を取得 2. Live Broadcasting 2.1. In-App Broadcast(iOS10〜) 実行中アプリの映像と音声を配信 2.2.

                                              iOS ReplayKitを調べてみた - Qiita
                                            • [Swift] AVFoundation による動画撮影の設定: カメラ種類 / ズーム / 録画時間 / 画質

                                              [Swift] AVFoundation による動画撮影の設定: カメラ種類 / ズーム / 録画時間 / 画質投稿者: hahnah 投稿日: 2019-02-012019-02-01 photo credit: dhobern Cypseloides senex via photopin (license) 基本実装 まずは基本実装から。後ほど種々の設定について説明する。 次の実装では、 録画開始ボタンを押すと録画が始まり、 録画停止ボタンを押すと録画が終了し、 録画されたことを知らせるアラートが表示される というだけの単純な実装になっている。 動画撮影のための特殊な設定はなく、デフォルト的な振る舞いになっている。 ViewController.swift import UIKit import AVFoundation class ViewController: UIViewCont

                                                [Swift] AVFoundation による動画撮影の設定: カメラ種類 / ズーム / 録画時間 / 画質
                                              • [Swift] OptionSetについてまとめてみます | DevelopersIO

                                                はじめに モバイルアプリサービス部の中安です。 今回は、使うと非常に便利。Swift標準ライブラリにある OptionSet についてまとめようかと思います。 OptionSet OptionSet は Swift標準ライブラリに搭載されているプロトコルのひとつです。 かつては OptionSetType という名前で定義されていました。 リファレンスの説明にはこのように記載されています。 You use the OptionSet protocol to represent bitset types, where individual bits represent members of a set. ビット集合型を表現するためOptionSetを使用します。個々のビットは集合のメンバーを表現します。 英訳は少し怪しいですが(苦)、ビットの集合を表すという役割が OptionSet に準拠

                                                  [Swift] OptionSetについてまとめてみます | DevelopersIO
                                                • 【Swift】UIAlertControllerのactionSheetにカスタムViewを埋め込む | DevelopersIO

                                                  UIAlertControllerからactionSheetスタイルで表示したアラートにカスタムViewを埋め込みたくなったので、埋め込み方法を調べました。 環境 Xcode 14.1 iOS 16.1 UIAlertController.Style.actionSheet UIAlertController.Styleを.actionSheetに選択することでiOSデバイスでは下から出てくるアクションシートを表現出来ます。 @IBAction private func showActionSheet(_ sender: UIButton) { let actionSheet = UIAlertController(title: "かわいいは作れる", message: nil, preferredStyle: .actionSheet) // iPadのクラッシュ対応 actionShe

                                                    【Swift】UIAlertControllerのactionSheetにカスタムViewを埋め込む | DevelopersIO
                                                  • UIButton: Padding Between Image and Text

                                                    UIButton: Padding Between Image and TextMay 6, 2019 Update (11/29/2020): I've updated this post to note that more subtlety is required to account for right-to-left languages. Pop quiz: in a UIButton, how do you set a padding of 10pt between the image and the title? I had to do this at work recently, and I was surprised at how hard it was to reason about. There are several posts talking about this

                                                      UIButton: Padding Between Image and Text
                                                    • MVPでiOSアプリをつくってみた - Qiita

                                                      はじめに 以前書いた今更MVCとかでiOSアプリつくってみた(Swift)・改の続きです。なんか面談のときにちょこちょこアーキテクチャについて聞かれたので今度は MVP について考えてみます。 前記事でも書きましたが、アーキテクチャについてネットで色々検索すると言ってることがそれぞれ微妙に違うのがいっぱい出てきます。アーキテクチャについて学びたいと思うなら iOSアプリ設計パターン入門 を読みましょう! この記事は iOSアプリ設計パターン入門 を参考にしていますが、あくまで私個人の意見です。 わりと長くなったのでめんどくさい人はソースだけでもどうぞ VC3つのみでつくったやつ Cocoa MVCでつくったやつ MVP (Passive View) でつくったやつ 長いの読みたくない人ように結論だけ たぶん MVP で一番重要なのはプレゼンテーションロジックのテストがしやすいこと!! MV

                                                        MVPでiOSアプリをつくってみた - Qiita
                                                      • 今更MVCとかでiOSアプリつくってみた(Swift)・改 - Qiita

                                                        はじめに 以前に書いた今更MVCとかでiOSアプリつくってみた(Swift)はなぜ MVC を導入するのかふわっとしてるし分け方もふわっとしててなんか違うなと思っていたのですが何が違うかわからず放置していました。 が、未だに LGTM ついたりしてまずいなと思い MVC について再考するために今回の記事を書きました。(google で「swift mvc」で検索するとわりと上位にくる。やっぱり Qiita の SEO すげぇ) * アーキテクチャの起源は MVC であり他のアーキテクチャは MVC の課題を解決するために派生していったものであり MVC の理解がアーキテクチャの理解の第一歩と考え今更ですが MVC についての記事を書きました。 わりと長くなったのでめんどくさい人はソースだけでもどうぞ VC3つのみでつくったやつ Cocoa MVCでつくったやつ 長いの読みたくない人ように結

                                                          今更MVCとかでiOSアプリつくってみた(Swift)・改 - Qiita
                                                        • 【Swift】画面遷移の方法まとめ - Qiita

                                                          今回はSwiftでの画面遷移についてまとめてみました! 1. Segueを使った画面遷移(コードを使わない方法) Xcodeでボタンを押した時に画面遷移をさせたい場合は以下のようにStoryboardでSegueを用いてボタンと画面を繋ぐのが一般的です。こうすることでボタンをタップした時に画面遷移することができるようになります。 2. Segueを使った画面遷移(コードを使用) 1の方法だと、例えばラベルに表示した数字が5になったら遷移させるといったことができません。このように、もし何らかの処理後に画面遷移させたい場合はSegueに加えてコードによる記述が必要です。以下の例ではラベルに表示した文字が5になったら次の画面に遷移しています(遷移先画面にはわかりやすいように背景色をつけてあります)。 1. ViewController同士をSegueで繋ぐ 遷移元のViewControllerか

                                                            【Swift】画面遷移の方法まとめ - Qiita
                                                          • iOSのAutoLayoutにおけるIntrinsic Content Sizeについて - Qiita

                                                            はじめに 本記事ではiOSのAutoLayoutを理解するのに欠かせない、「Intrinsic Content Size」についての解説を行います。SwiftUIが話題になっていますが、ここ数年は既存のAutoLayoutを前提としたレイアウトもまだまだ多いと考えられるため、知っておいて損はない情報かと思います。 Intrinsic Content Sizeとは Intrinsicはあまり聞き慣れない英単語ですが、「固有の」、「本来備わっている」といった意味を持ち、あるビューのコンテンツを表示するための最低のサイズを表します。 例えば、UILabelでは表示する文字列やフォントで表示する固有のサイズが決まり、UIImageViewでは表示する画像のサイズで表示する固有のサイズが決まります。 AutoLayoutを利用したレイアウトの場合、Intrinsic Content Sizeを考慮し

                                                              iOSのAutoLayoutにおけるIntrinsic Content Sizeについて - Qiita
                                                            • たった数行のコードで作成できる iOS 14 の新たなフレームワークの機能 - Qiita

                                                              App Store アプリの概要カードをフロート表示する UIBarButtonItem にフローティングメニューを表示 UIButton にフローティングメニューを表示 インラインの日付ピッカーを表示 コンパクト日付ピッカーを表示する カラーピッカーを表示する ゲームセンター用のフローティングウィンドウを表示 (Game Center) App Store アプリの概要カードをフロート表示する アプリ内で他のApp Storeアプリをおすすめしたい場合、5行のコードで簡単にアプリの概要カードを表示することができます。 if let scene = view.window?.windowScene { let config = SKOverlay.AppConfiguration(appIdentifier: "1494658162", position: .bottom) //App S

                                                                たった数行のコードで作成できる iOS 14 の新たなフレームワークの機能 - Qiita
                                                              • UINavigationControllerの戻るイベントを取得したい! - Qiita

                                                                はじめに UINavigationController の左上に表示される「戻る」ボタンのイベントを取得したいことがたまにあります! 「戻る」ボタンのイベントを取得するために試行錯誤した結果です。 結論から言うとちゃんとイベントを取得したいなら navigationItem.leftBarButtonItem をカスタムしましょう サンプル サンプルとして FirstiViewController(赤) -> SecondViewController(青) -> ThirdViewController(緑) と push で遷移する画面構成で SecondViewController の「戻る」について考えます。 SecondViewController からは Full Screen の modal 遷移(黄)もつけています。 deinit を使う SecondViewControlle

                                                                  UINavigationControllerの戻るイベントを取得したい! - Qiita
                                                                • [Firebase][iOS] Firebase Crashlytics を導入してみよう | DevelopersIO

                                                                  はじめに CX事業本部の中安です。 「Firebaseを触ってみるシリーズ」の続きになります。 ここまでは Firebase Authentication で会員機能を作ってみよう Firebase Cloud Firestore でプロフィール機能を作ってみよう Firebase Hosting でキャンペーンページを作ってみよう というお題で書かせていただきましたが、 今回はFabricから移行されてきた Firebase Crashlyticsを開発中のアプリに取り込んでみたので、その流れをご紹介できればと思います。 またもウダウダと書きますが、何かのお役に立てば幸いです。 Firebase Crashlytics Firebase Crashlytics は軽量なリアルタイムのクラッシュ レポートツールで、アプリの品質を低下させる安定性の問題を追跡し、優先順位を付け、修正するのに役

                                                                    [Firebase][iOS] Firebase Crashlytics を導入してみよう | DevelopersIO
                                                                  • SentryでiOSアプリのイベントログを収集する - OPTiM TECH BLOG

                                                                    こんにちは、R&Dチームの中村健太郎です。 Mask R-CNNでいちごを検出する話、3DCGモデルからデータセットを作る記事を過去に投稿しましたが、今回はガラリと変わってiOSアプリの話で記事を書きました。余談ですがiOSアプリを作る手段はReactNativeだったり、Swiftでゴリゴリだったりしますが、実際のところ今どのくらいの割合でそれらが採用されているのかが気になるこの頃です。 はじめに クライアントアプリにおけるイベントログ収集のモチベーション Sentry Sentry iOS SDKを導入してみる Sentryプロジェクトの作成 sentry-cocoaの導入 iOSアプリでの設定 Errorイベントを送信してみる イベントについて デフォルトで取得できる情報 送信情報のカスタマイズ Loggerと組み合わせる XCGLogger おわりに ライセンス表記 はじめに クラ

                                                                      SentryでiOSアプリのイベントログを収集する - OPTiM TECH BLOG
                                                                    • 【Swift 4.2】 アラーム時計の作り方 - Qiita

                                                                      はじめに こんにちは!Life is Tech ! iPhoneメンターのKentyです。 Life is Tech ! メンターによるAdvent Calendarのトップバッターを務めさせていただきます!しかも、今年からは公式開催!今日から25日まで他分野で活躍するメンターの記事が読めると思うと楽しみです!記念すべき初日は、Swift でアラーム時計の作り方を伝授していきます。簡単につくれるような感じはしますがちょっとした落とし穴があるので解決方法、乗り越え方を丁寧にこの記事では解説していきます。 今回製作するアプリではユーザーがUIDatePickerを使用して起こしてほしい時間を指定することでアラーム(目覚まし)をセットできるようにします。アラームまでの時間は現在の時刻を表示させます。至ってシンプルなアラーム時計です。また今回はMVCアーキテクチャに基づいて実装していきます。 (ア

                                                                        【Swift 4.2】 アラーム時計の作り方 - Qiita
                                                                      • UIButtonに隠しActionをつける方法 - Qiita

                                                                        はじめに ただどう動くんだろう?って言うだけの話で実用性は皆無です なんか UIButton に謎のアクションを付けれたというお話です。 環境 Xcode 11.4 iPhone 11 Pro Max (13.4) 実装 StoryboardでFirstViewControllerとSecondViewControllerを用意する FirstVCにボタンをのせる IBActionでボタンのアクションをFirstVCに紐付ける(tappedFirst(_ sender: Any)) SecondVCにFirstVCのボタンをコピペする IBActionでボタンのアクションをSecondVCに紐付ける(tappedSecond(_ sender: Any)) こんな感じ final class FirstViewController: UIViewController { @IBAction

                                                                          UIButtonに隠しActionをつける方法 - Qiita
                                                                        • UIViewの背景に動画を流す簡単な方法 - Qiita

                                                                          iOSで背景に動画を流す簡単な方法 初回起動画面などで背景に動画が流れているアプリってよくありますよね。 そのようにボタンなどのUIの後ろで動画を流す簡単な方法を紹介します。 最小実装 import UIKit import AVFoundation class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Bundle Resourcesからsample.mp4を読み込んで再生 let path = Bundle.main.path(forResource: "sample", ofType: "mp4")! let player = AVPlayer(url: URL(fileURLWithPath: path)) player.play() // AVPl

                                                                            UIViewの背景に動画を流す簡単な方法 - Qiita
                                                                          • UITabBarとUITabBarControllerについて調べた | DevelopersIO

                                                                            概要 大阪オフィスの山田です。最近、湿気がすごくてかなしいです。 今更ながら、UITabBarとUITabBarControllerの使い方を調べました。アプリに何度も登場せず、一度作ると作ったっきりになりがちなので改めて調べてみよう、という動機です。なお、公式のドキュメントはこちらです。 開発環境 macOS: 10.15.4 Xcode: 11.5 検証端末: iPhone SE 2nd Generation(Simulator) 目次 少し長いので、目次を記載しておきます。 Interface Builderを使って、TabBarControllerを追加する TabBarの設定を変更する TabBarItemの設定を変更する プログラムからTabBarControllerを生成する タブアイテムタップ時にモーダルで画面を表示する プログラムからアクティブなタブを設定した時の挙動 モ

                                                                              UITabBarとUITabBarControllerについて調べた | DevelopersIO
                                                                            • Mapにピンを配置する

                                                                              1コード 2import UIKit 3import MapKit 4import CoreLocation 5 6class ViewController: UIViewController ,MKMapViewDelegate, 7 CLLocationManagerDelegate{ 8 9 @IBOutlet weak var PlusButton: UIButton! 10 11 var locationManager = CLLocationManager() 12 13 // MapViewのインスタンス生成. 14 let mapView = MKMapView() 15 16 let annotation = MKPointAnnotation() 17 //ピンの位置 18 let latitude = 35.72949166949532 19 lett longitu

                                                                                Mapにピンを配置する
                                                                              • Appにおけるウェブビューを実現するには、WKWebViewとSFSafariViewControllerのどちらを使うべきですか - 見つける - Apple Developer

                                                                                Appにおけるウェブビューを実現するには、WKWebViewとSFSafariViewControllerのどちらを使うべきですか App内で完全なウェブブラウジング体験を提供する場合や、リッチコンテンツを表示する、またはアプリケーションから移動することなく外部のウェブサイトを統合するなど、いずれの場合でも、適切なAPIを使用することで、スムーズかつシームレスなブラウジング体験を実現できます。 WKWebView APIとSFSafariViewController APIはいずれも、App内でウェブコンテンツを表示することができますが、あなたのAppのニーズに最適なのはどちらでしょうか。 「WKWebView」は、WebKitフレームワークに含まれています。WKWebViewを使用することで、ウェブコンテンツをAppのUIにシームレスに統合できます。既存のHTML、CSS、およびJava

                                                                                  Appにおけるウェブビューを実現するには、WKWebViewとSFSafariViewControllerのどちらを使うべきですか - 見つける - Apple Developer
                                                                                • Should I use WKWebView or SFSafariViewController for web views in my app? - Discover - Apple Developer

                                                                                  Should I use WKWebView or SFSafariViewController for web views in my app? Whether your app needs to provide a full web browsing experience, display richly-styled content, or incorporate external websites without taking people out of your app, you can make the experience smooth and seamless by choosing the right API. You can display web content inside of your app with both the WKWebView and SFSafar

                                                                                    Should I use WKWebView or SFSafariViewController for web views in my app? - Discover - Apple Developer