並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 202件

新着順 人気順

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

  • メルペイの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アプリとサーバーとの連携 - コネヒト開発者ブログ
            • 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
                • 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
                      • 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
                        • inputViewを使ってカスタムキーボードをつくろう!(Swift) - Qiita

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

                            inputViewを使ってカスタムキーボードをつくろう!(Swift) - Qiita
                          • 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アプリ初リリースからこれまでに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] 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
                                              • たった数行のコードで作成できる 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
                                                • 今更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
                                                    • 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
                                                              • 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にピンを配置する
                                                                  • iOS15でのUIKitの変更箇所をまとめた。 - Qiita

                                                                    はじめに どうも@kaneko77です。 WWDC2021が今週ありました。 月曜日の26時からだった為、定時で上がって速攻寝て25時半に起きてWWDCに備えていました。 ※WWDCのEvent参照 今回はハードウェアの発表がなかったのは残念でしたが、割と面白内容になっていて早起きした甲斐あったな〜と思いました。 発表が終わった後にBeta版入れて色々試したのでその中でiOS15の変更点を今回は共有していきたいと思います。 特に私が興味がある内容に焦点を当てて記事を書いてます。 ※SwiftUIについては触れないです。 ※まだまだ新しい技術なので情報がネットに出回っていなく共有できない箇所がありますのでそちらご了承いただけますと幸いです。 こんな方対象 iOS15で何ができるようになったか知りたい人 iOSエンジニアの方 環境 Xcode: Version 13.0 beta (13A51

                                                                      iOS15でのUIKitの変更箇所をまとめた。 - Qiita
                                                                    • 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
                                                                        • iPadOS 13.4のポインタに対応する - Qiita

                                                                          2020年3月にiPadOS 13.4がリリースされ、ポインタが導入されました。iPadにマウスやトラックパッドを接続(有線もしくは無線)して利用できます。 対応端末 すべてのiPad Proモデル iPad Air 2以降 iPad(第5世代)以降 iPad mini 4以降 4~5年前のモデルでも対応しており、幅広い端末で利用できます。 Magnetic Effect ボタンの上にポインタを移動させると、ボタンに飛びつくようなアニメーションとともに、ポインタがボタンの形に変化します。またポインタが離れる際には、ボタンにしがみつくようなアニメーションがあり、これらは「Magnetic Effect」と呼ばれています。 エフェクトは3種類 ポインタがボタンの上に移動した時のエフェクトは3種類用意されています。 Highlight: ポインタがボタンの形に変わります。ツールバーのアイコンやメ

                                                                            iPadOS 13.4のポインタに対応する - Qiita
                                                                          • Extension Programmingのススメ - Qiita

                                                                            2021/12/17 追記 タイトルを変えました。 それっぽく名前を付けてみたってだけですがw iOS Advent Calendar 2019も折り返しに来ました。担当の@417_72kiです。 protocol毎にextensionでコードブロックを分けるという有名(?)なhackがありますが、 今回はprotocol以外でも積極的にextensionで分けていこうぜ!っていう記事を書きました。 注意 どう呼べばいいか困ったものについて、この記事では以下のように定義しています。 definition block -> class/struct/enum宣言したブロック( class Hoge {~}で囲まれたブロック ) extension block -> extension宣言したブロック ( extension Hoge {~} で囲まれたブロック ) 以下、上記の言葉は太字で記

                                                                              Extension Programmingのススメ - Qiita
                                                                            • iPadOS新機能「Multiple Windows」をWEARに仮実装してみた - ZOZO TECH BLOG

                                                                              はじめに こんにちは。WEAR iOSチームの坂倉 (@isloop) です。 この間リリースされたiPadOSはかなり盛りだくさんの内容でしたね。 個人的には、1つのアプリで複数のウィンドウを開ける「Multiple Windows」機能が一番気になりました。 この記事では、WWDC 2019のセッション Introducing Multiple Windows on iPad と Architecting Your App for Multiple Windows を参考にしながらWEARへの仮実装を通して「Multiple Windows」を解説します。 解説 条件 Multiple Windowsは以下の条件で動作します。 Xcode 11以降に含まれるiOS 13.0 SDK以上でビルドされたアプリ iPadOSがインストールされているiPad Supporting Multip

                                                                                iPadOS新機能「Multiple Windows」をWEARに仮実装してみた - ZOZO TECH BLOG
                                                                              • [UIKit考察]AutoLayoutと他のレイアウトエンジンをどのように接続するか (最大の横幅はどうやって知る?)

                                                                                この記事は、開発するiOSアプリの中で、レイアウトパフォーマンスを上げるため、部分的にAutoLayout以外のレイアウトエンジンを用いた場合に、どのようにAutoLayoutの世界と接続することが出来るか。という考察です。 考え方の基本として、AutoLayoutからしたらその他のレイアウトエンジンはFrameベースで行うマニュアルレイアウトと同じものになるので、 AutoLayoutの制約の中でマニュアルレイアウトで作られたカスタムUIViewのコンポーネントを正しく動かすには? を考えることになります。 先に結論考察の結論として、スッキリしたものではないが、 マニュアルレイアウトで作られたカスタムコンポーネントはUILabelのサブクラスを使うUILabelの持つtextRectメソッドをOverrideし、自身が膨張可能な幅を知り高さを計算しAutoLayoutに返却この手法でマニ

                                                                                  [UIKit考察]AutoLayoutと他のレイアウトエンジンをどのように接続するか (最大の横幅はどうやって知る?)
                                                                                • SwiftUI Previews on macOS Catalina and Xcode 11

                                                                                  Written by Mattt October 14th, 2019 This article has been translated into: 한국어 Working on a large iOS codebase often involves a lot of waiting: Waiting for Xcode to index your files, waiting for Swift and Objective-C code to compile, waiting for the Simulator to boot and your app to launch… And after all of that, you spend even more time getting your app into a particular state and onto a particul

                                                                                    SwiftUI Previews on macOS Catalina and Xcode 11