CATEGORY

MacApp

  • 2020-08-08
  • 2020-08-08

[執筆中][2020/08/08更新][Swift][ObjC] Dispatch Queue (GCD=Grand Central Dispatch) の使い方

この記事は執筆中です。完成まで少し時間がかかるので、途中の段階から公開しています。 SwiftやObjective-CではDispatch Queue (別名GCD=Grand Central Dispatch) を使って、並列分散処理や非同期処理を書くことができます。この記事ではDispatch Queueの使い型を解説します。 キューを作る Dispatchは実行する処理をSwiftではクロー […]

  • 2020-08-04
  • 2020-08-04

OpenCVで使われている並列化を見てみる

このブログでも前に扱ったOpenCVという画像処理のライブラリがあります。OpenCVには色々な画像処理のアルゴリズムが実装されていますが、実際に使って見ると、自分で実装したときよりもかなり早いなぁということがあります。 「なぜ、速いのだろうか?」と思い、公開されているソースコードから勉強しようと思いたち、探ってみました。 高速化の鍵は並列化にある? 画像処理はピクセル単位で処理するので、元々並列 […]

  • 2020-04-19

XcodeでGoogle Test (gtest) を使えるようにセットアップする

Xcodeにはユニットテストを実行する機能があります。Xcodeから実行できるユニットテスト機能はXCTestフレームワークのチェック関数を使って、クラスやメソッドの戻り値が期待値通りになっているかをチェックします。チェック結果はXcodeの中でリスト表示されます。 XCTestはAppleプラットフォーム専用です。クロスプラットフォーム対応のライブラリを作っているときなどには、XCTestを使う […]

  • 2020-04-10
  • 2020-04-18

【2020/04/18更新】 OpenCVのセットアップ方法 (macOSアプリ用)

2020年4月18日 zshでのPATHの設定方法を追加しました。cmakeのオプションでインストール先を指定するように変更しました。 OpenCVはオープンソースの画像処理やマシンラーニングを行うためのライブラリです。高機能で多くの機能を持っていて、画像処理やマシンラーニングの処理を一から全て実装するよりも効率的に開発が行えます。 高機能なだけではなく、非常に高速です。内部ではOpenCLやSI […]

  • 2020-03-27

iOS 13.4でWKWebViewがクラッシュするときはWebKitへのリンクを追加

このブログ用に作っているサンプルアプリで、WKWebViewを使っているものがあります。先日、Xcodeを11.4にアップデートしたところ、このアプリがクラッシュするようになってしまいました。 対応方法などを記事にまとめました。 結論 結論を先に書くと、WebKit.frameworkのリンクを追加することで修正されました。詳細を記事にまとめました。 症状と対応方法 発生している症状をまとめると次 […]

  • 2020-03-15
  • 2020-03-16

新型コロナウイルス (COVID-19) に関係するアプリは特定の機関からのみ受け付ける

医療情報や健康情報などは、信頼できる情報源が発信した情報であることを確認することが重要です。しかし、それをどのように確認するのかや、確認する必要性があることを知っているかという問題があります。 アップル社が発表した方針はそのような安全性を担保するための一つの方法になるのではと私は思います。 上記の記事によると、新型コロナウイルス (COVID-19) に関係するアプリは以下の様な特定の機関がリリー […]

  • 2020-02-28
  • 2020-02-28

インストーラのNotarization Service対応

インストーラ形式で配布しているアプリでは、アプリ本体のNotarization対応の他に、インストーラもNotarizationに対応する必要があります。 この記事では、macOSのインストーラのNotarization対応について解説します。 インストーラの作り方のあらまし macOSでインストーラを作るときには、次のような2つの工程があります。 pkgbuild を使い、インストーラのコンポー […]

  • 2020-02-25
  • 2020-02-28

Combine入門 | Combineを使ってネットワーク接続する方法

この記事では、Combineを使ってネットワークアクセスする方法を解説します。 Combineが初めての方やCombineの他の例については、次の記事もご覧ください。 DataTaskを実行するPublisherを作る Combineを使ってネットワークアクセスするには、DataTask用のPublisherを作ります。Publisherを作るためのメソッドは以下の2つです。 引数が異なる2つのメ […]

  • 2020-02-24
  • 2020-03-02

Combine入門 | 独自のタイプをCombine対応にする

Combineはアップル純正の非同期処理を実装するためのフレームワークです。SwiftUIのバインディングなどでも使われています。少し分かりにくいのですが、重要なフレームワークです。 Combineが初めての方は、次の記事もご覧ください。 Combineを使った他の例については以下の記事をご覧ください。 この記事では、独自のデータモデルクラスをCombine対応のクラスにする方法を解説します。 O […]

  • 2020-02-23
  • 2020-06-30

Apple Notarization Service に対応するためのXcodeの設定

2020年3月6日 条件を満たしているかの確認で --strict オプションが抜けていたので追加しました。 Apple Notarization Notarization Service に対応させて、アプリの公証を受けるためには、いくつかの方法があります。 アップルは 2020年2月3日以降は、公証を得るためには、必要な要件を全て満たす必要があると発表しました。 この記事では、複雑なケースも含 […]

>現役のプログラマーが書くプログラミング情報

現役のプログラマーが書くプログラミング情報

日々の開発の中での学びや分かったこと、調べたことなどを書いていくブログです。

CTR IMG