現役のソフトウェア開発者が書くプログラミング情報のブログです。日々の勉強や開発の中での気づきや分かったことなどを中心にソフトウェア開発に関係する情報を記録していっています。
アプリの動作環境の都合やライブラリ(フレームワーク)が対応しているOSのバージョンの都合など、古いバージョンのXcodeを使わなければいけないことがあります。 そのような旧バージョンのXcodeを使っているときに、対応しているSwiftの言
Flutterでデスクトップアプリが作れるようになり、気になるポイントを確認しています。この記事ではビルド方法についてです。 目次 1 App Store Connectへの登録2 Xcodeの設定2.1 Generalタブ2.2 Sign
Flutter 3.0からMacのデスクトップアプリも正式にサポートされました。 私はMacアプリ開発者なのでMacらしい機能を作る事ができるかということに興味を持ちました。その最たるものの一つがメニューバーだと思います。 そこでGitHu
Flutter3.0がリリースされました。今回のバージョンでは、macOSのデスクトップアプリの開発も正式に対応しました。私はMacアプリ開発者なので興味津々なのですが、まずは、インストール済みのFlutterのアップグレードからです。 目
Arnoldのレンダリング設定でデフォルト設定から変更した方が良さそうだなと思ったものや、一時的に他の値に変更しても普段は戻した方が良さそうだなと感じた設定のメモです。 目次 1 スレッドの設定1.1 Arnold RenderViewの設
MayaのAi Toonシェーダーを使うと漫画のような感じにレンダリングされます。 この記事ではAi Toonシェーダーを使い方の紹介です。 目次 1 Ai Toonシェーダーのレンダリング結果2 Ai Toonシェーダーの設定方法2.1
レンダラーはレンダリングを行うプログラムです。レンダリングは3Dのデータ、例えば、頂点、エッジ、フェース、アトリビュート、テクスチャー、カメラ(視点)といった情報を元に、2次元の画像を描画する処理です。 Mayaには以下のレンダラーが付属し
こちらのブログも含めて、いくつかのブログを仕事用のブログに統合してから、自分自身で学習したことを仕事のブログに書こうと思っていたのですが、テーマが合わず、書きづらいなと感じていました。そのまましばらく経ち、公開していない学習メモができてきま
スポンサーリンクブログ統合(予定)のお知らせ こんにちは。今回はブログの統合についてのお知らせです。 本ブログですが、以下のサイトのブログに統合する予定です。 新しい記事は今後は上記のブログに公開していく予定です。 このブログに掲載している
iOS 13で導入されたSwiftUIには2種類のライフサイクルがあります。 UIKit App Delegate SwiftUI App この記事では、この2種類のライフサイクルの違いについて解説します。 目次 1 ライフサイクルの選択1
Language Switcher で発生する 302 リダイレクトの修正
このブログは日本語ページと英語ページの切り替えや、hreflang情報の生成のために、WordPressのLanguage Switcherというプラグインを使っています。このプラグインの影響でHTTP Status 302 リダイレクトが
WordPressのXML Sitemapsプラグインを動かす
根本的なエラー原因はLanguage Switcherの設定でした。 このサイトの英語版のサイトを作成中なのですが、XML Sitemapが送信できないという問題が起きました。この記事ではどのように対応したかについて解説します。 目次 1
M1チップを使ったMacが発売して、しばらくぶりにMacのアプリやフレームワークにもUniversal Binaryが使われるようになりました。 Universal Binaryは、一つのバイナリファイルの中に複数のアーキテクチャ向けのバイ
先日(2020年11月18日)、Apple社はApp Store Small Business Programを発表しました。 同プログラムにより、App Storeの大多数を占める収益合計が100万米ドル以内のデベロッパについて有料アプリ
皆さんはドキュメント管理はどのようにされていますか?ソースコードは Git で管理しています。 Markdown で書いているドキュメントであれば Git で管理していることが多いと思います。 Word や Excel 、 PDF などはど
SwiftからC言語の関数を直接使うためには、Swiftでメモリバッファを考慮したコードを書く必要があります。Unsafe系のタイプを使う必要があり、分かりづらいコードが多くなります。 この記事ではコード例を紹介します。 目次 1 Stri
Hyper-V を使った Ubuntu Server のインストール
Hyper-Vを使い、仮想マシンに Ubuntu Server をインストールする方法を解説します。この記事では Windows Server 2016 を使用しています。Hyper-V が既にインストールされていることを前提にしています。
App Storeでアプリを新規公開するときに、リリース日よりも前の予約注文が180日前から受けられるようになったそうです。 ユーティリティなどでは使うことが少なそうですが、ゲームなどのエンターテイメント系アプリなら、プロモーション活動の一
Windows Server 2016 への Hyper-V のインストール方法
Windows Server 2016 に Hyper-V をインストールするには以下の様に操作します。 基本的には画面の指示に従っていくだけでインストールできます。 (1) サーバーマネージャーを起動する。 (2) 「管理」ポップアップボ
[執筆中][2020/08/08更新][Swift][ObjC] Dispatch Queue (GCD=Grand Central Dispatch) の使い方
この記事は執筆中です。完成まで少し時間がかかるので、途中の段階から公開しています。 SwiftやObjective-CではDispatch Queue (別名GCD=Grand Central Dispatch) を使って、並列分散処理や非
このブログでも前に扱ったOpenCVという画像処理のライブラリがあります。OpenCVには色々な画像処理のアルゴリズムが実装されていますが、実際に使って見ると、自分で実装したときよりもかなり早いなぁということがあります。 「なぜ、速いのだろ
Dockerでコンテナ化したnginxで、スタティックなコンテンツだけではなく、動的なコンテンツを表示したくなり、docker+nginxの環境で更にphpを追加しました。その方法をまとめました。 目次 1 docker + nginxの環
XcodeでGoogle Test (gtest) を使えるようにセットアップする
Xcodeにはユニットテストを実行する機能があります。Xcodeから実行できるユニットテスト機能はXCTestフレームワークのチェック関数を使って、クラスやメソッドの戻り値が期待値通りになっているかをチェックします。チェック結果はXcode
OpenCVはオープンソースの画像処理やマシンラーニングを行うためのライブラリです。高機能で多くの機能を持っていて、画像処理やマシンラーニングの処理を一から全て実装するよりも効率的に開発が行えます。 高機能なだけではなく、非常に高速です。内
Gitはファイルの履歴を管理しています。この機能のおかげで同じリポジトリを参照する人は、別の人が行った変更を取り込むことができます。 変更内容を別の人に渡したいときに、リポジトリに直接アクセスできる人はGitの機能を使ってもらえば良いのです
OpenCVはオープンソースの画像処理やマシンラーニングを行うためのライブラリです。高機能で多くの機能を持っていて、画像処理やマシンラーニングの処理を一から全て実装するよりも効率的に開発が行えます。 高機能なだけではなく、非常に高速です。内
WKWebViewで認証されたページにアクセスしたいときは、確認証方法に合わせた処理が必要です。この記事ではHTTPのBasic認証に対応する方法を解説します。 スポンサーリンク 目次 1 全体的な流れ2 認証が必要なページにアクセスすると
iOS 13.4でWKWebViewがクラッシュするときはWebKitへのリンクを追加
このブログ用に作っているサンプルアプリで、WKWebViewを使っているものがあります。先日、Xcodeを11.4にアップデートしたところ、このアプリがクラッシュするようになってしまいました。 対応方法などを記事にまとめました。 スポンサー
Homebrewは元々はMac用のパッケージマネージャーです。そのHomebrewがv2.0からLinuxを正式サポートしました。同時に、WSLも正式にサポートしました。 この記事では、WSL上でHomebrewをセットアップする方法を解説
WSL (Windows Subsystem for Linux) をセットアップ方法
昨年の2019年2月2日にリリースされたHomebrew v2.0から、公式サポート環境にWindows 10 (WSL) と Linux が加わりました。 この記事では、Homebrewで必要になるWSLのセットアップ方法を解説します。
Docker+NginxでBasic認証を行う3つのステップ
アプリの中でHTTPのBasic認証を行う仕様があり、その機能を実装しようと思ったときに、Basic認証のコードをテストできるテスト環境が欲しくなりました。 そこで、Dockerでコンテナ化しているWebサーバーでBasic認証で認証するペ
新型コロナウイルス (COVID-19) に関係するアプリは特定の機関からのみ受け付ける
医療情報や健康情報などは、信頼できる情報源が発信した情報であることを確認することが重要です。しかし、それをどのように確認するのかや、確認する必要性があることを知っているかという問題があります。 アップル社が発表した方針はそのような安全性を担
【Docker】 macOS Catalina 10.15 で使うときはプライバシー設定も確認する
Dockerでコンテナに、ホスト側のフォルダをマウントさせて、共有フォルダとして使う機能があります。この機能でマウントさせるフォルダにアクセスできないときのチェック箇所についてです。 この記事の動作環境はホストOSはmacOS Catali
定期的に実行されるバッチスクリプトなどで問題が起きたときの記録や、問題が起きていなくても、実行したことを記録したいときなどには、ログを出力することが一般的です。 また、デバッグ用に特別なログを入れておき、不具合の原因を探すということもありま
Pythonでシェルスクリプトを作ったときに、ArgumentParserクラスを使うと、簡単にコマンドライン引数を解析できます。 ArgumentParserクラスは、次のような機能を持っています。 順番が決まっている必須引数の解析 オプ
2020年4月30日以降、App Storeに提出するアプリは次の2つの対応が必要になりました。 iOS 13 SDK以降でビルドする 起動画面をStoryboardファイルで作る iPhoneアプリは、iPhoneの全サイズをサポートする
macOS High Sierra 10.13からファイルシステムがAPFSに変わりました。それにより、ディスクユーティリティが作成するディスクイメージファイルのファイルシステムもAPFSになっています。 そのため、macOS 10.13未
Finderと同じZipファイルをターミナルやシェルスクリプトで作る
macOSのFinderにはファイルやフォルダを圧縮してZipファイルを作る機能が入っています。このZipファイルはWindows上で作成するZipファイルとは少し異なります。 このFinderで作られるZipファイルはターミナルからも作成
THE THORのタイトルとキャッチフレーズをBogoで翻訳する方法
このブログはWordPressのテーマの「THE THOR」を使っています。英語版の記事も作っていて、WordPressで多言語対応するためのプラグイン「Bogo」を使っています。 Bogoには言語によってテキストを置き換える機能があります
インストーラ形式で配布しているアプリでは、アプリ本体のNotarization対応の他に、インストーラもNotarizationに対応する必要があります。 この記事では、macOSのインストーラのNotarization対応について解説しま
Combine入門 Combineを使ってネットワーク接続する方法
この記事では、Combineを使ってネットワークアクセスする方法を解説します。Combineが初めての方やCombineの他の例については、次の記事もご覧ください。DataTaskを実行するPublisherを作るCombineを使ってネッ
Combineはアップル純正の非同期処理を実装するためのフレームワークです。SwiftUIのバインディングなどでも使われています。少し分かりにくいのですが、重要なフレームワークです。Combineが初めての方は、次の記事もご覧ください。Co
Apple Notarization Service に対応するためのXcodeの設定
Apple Notarization Notarization Service に対応させて、アプリの公証を受けるためには、いくつかの方法があります。アップルは 2020年2月3日以降は、公証を得るためには、必要な要件を全て満たす必要がある
UIWebView will be no longer accepted
日本語 EnglishTo use the embedded web browser in an iOS App, you have three choices:UIWebView ClassWKWebView classSFSafar
Combine入門 CombineでTimer処理を行う方法
TimerもCombineに対応しています。Timerで定期的に実行される処理をCombineを使って設定出来るようになっています。この記事ではTimerの処理をCombineで行う方法についてです。Combineが初めての方は、次の記事も
日経新聞に次のような記事が出ていました。政府の基盤基盤クラウド、Amazonに発注へ日本経済新聞デジタル 2020年2月12日これってすごい変化だと思うんです。日本では歴史のある大企業ほど、セキュリティに対して力を入れています。そのため、ク
Combine入門 CombineでNotificationを受け取る方法
Combineはアップル純正の非同期処理を実装するためのフレームワークです。SwiftUIのバインディングなどでも使われています。重要なフレームワークです。Combineを使った他の例については以下の記事をご覧ください。動作環境Combin
HTTPSのページからダウンロードできるファイルはHTTPにできなくなる
最近は常時SSL化が浸透してきました。このブログも常時SSL化していて、お問い合わせフォームだけではなく、サイト全体をSSLの対象にしており、HTTPSで接続されるようになっています。Chromeの将来バージョンでは、HTTPSのページから
Parallels Desktopで古いmacOSゲストをセットアップする
この記事で使用しているParallels DesktopのバージョンはParallels Desktop 15です。昔からずっと使われている製品では、動作対象のOSが極端に古い場合があります。そのような製品の動作確認にはParallels
開発者なら知っておきたいMacの起動とキーコンビーネーション
開発者は開発を行わないユーザーよりもマシンやOSのトラブルに見舞われることが多いです。ある日突然、OSが起動しなくなってしまったなどです。そのようなときに焦らないで良いように知っておいた方が良いキーコンビネーションがあります。マシン起動時の
Intel C++ Compiler for macOSの動作環境
Intel C++ Compilerの適切なバージョンは、Intel C++ Compilerと組み合わせるXcodeのバージョンや動作環境(OSのバージョン)も考えて、使用するバージョンを決定しなければいけません。更に開発対象のアプリの動
リンク先の記事が英語版の記事になっていたので、日本語版の記事にリンクするように修正しました。macOS 10.15 Catalinaからセキュリティ強化の一環で、Apple Notarization Serviceで公証を受けることが必須に
MacでiOSアプリやAndroidアプリ、Macアプリを開発するなら入れておきたいソフトをまとめました。私自身が長年使っているものが中心です。使用頻度が低いために掲載していないソフトもあります。新たに使用頻度が高くなったソフトが現れたら追
Webサーバーと通信するクライアントアプリのエラー処理で必ず必要になるのがHTTPのステータスコードです。色々なコードが定義されていますが、これだけ知っていれば、とりあえずは大丈夫だと思われるものをまとめました。通信成功通信が成功したときは
「ブログリーダー」を活用して、PBAuthorさんをフォローしませんか?