CATEGORY

MacApp

  • 2020-10-21
  • 2020-10-21

[2020/10/21更新] SwiftからC言語の関数を使う

2020/10/21 21:30 Cの構造体の配列メンバーへの書き込みを追加しました。 SwiftからC言語の関数を直接使うためには、Swiftでメモリバッファを考慮したコードを書く必要があります。Unsafe系のタイプを使う必要があり、分かりづらいコードが多くなります。 この記事ではコード例を紹介します。 String から Cスタイル文字列を渡す まずは、HelloWorld の例からです。但 […]

  • 2020-10-18

新規アプリの公開前の予約注文に180日前から対応

App Storeでアプリを新規公開するときに、リリース日よりも前の予約注文が180日前から受けられるようになったそうです。 ユーティリティなどでは使うことが少なそうですが、ゲームなどのエンターテイメント系アプリなら、プロモーション活動の一環で早めに予約を受けられればメリットがありそうです。 180日ということは、約半年なので、プロモーションスケジュールにも組み込みやすそうですね。 予約注文をでき […]

  • 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 […]

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

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

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

CTR IMG