- 運営しているクリエイター
記事一覧
[Cocoa][Swift]StoreKit 2
Apple Developerサイトでは、StoreKit 2という説明があるがフレームワークはStoreKitのまま。触ってみた感じは、既存のStoreKitを簡単に扱えるようにしたSwiftで実装されたライブラリだ。レシート検証もやってくれるようで、アプリ内で行う場合は、自力でASN.1でエンコードされたPKCS#7コンテナを解析するコードの実装が必要だったので助かる。
StoreKit 2
[macOS][Kotlin]結果とエラー情報を持つデータ
Javaでは結果を関数の戻る値で、エラー情報は例外で、だったが、Androidは例外を勧めていないことは以前から感じていた。Kotlinでは、例外は復旧できない致命的な状況で利用とし、既存のJavaモジュールが投げてくる例外を包み込みResult型があったりしている。
自分でKotlinでプログラミングする際、あえて例外を利用する必要はないと思うので、どんなやり方が合うのか調べてみて辿り着いたコ
[macOS][Kotlin]開発環境を用意する
仕事でAndroidアプリケーションをKotlinで開発しているので、macOSでKotlinを試してみる。
KotlinといえばAndroidStudioでAndroidアプリケーションをプログラミングだと思うが、macOS上で動作するKotlinで書かれたプログラムを動かしたいので、開発環境としてIntelliJ IDEAを使うことにする。IntelliJ IDEAはUltimate Edi
[Cocoa][Swift]XCFramework
Darwinで採用されています実行形式のバイナリ・フォーマットMach-oは、一つのファイルに複数のアーキテクチャのバイナリが格納できるという素晴らしい特徴があるのですが、同じCPUで異なるシステム向けのバイナリは同時に格納できないという欠点があるようです。以前だと、これで問題はなかったのですが、例えば、iPad OS向けアプリのソースからmacOSアプリを作ることができるUIKit for Ma
もっとみる[macOS]zshでgitのブランチ名を表示させる
Mojaveまでは、手動でCommand Line Toolsをインストールしたら設置されるスクリプトを使ってbashでgitのブランチ名を表示させていたが、Catalinaからは設置されないようになったようだ。また、Catalinaからはzshがデフォルト・シェルになったということで、zshでgitのブランチ名を表示させる方法を調べた。
ホームディレクトリ配下に.zshというディレクトリを作っ
[cocoa][swift][kotlin]Cocoa.swift 2019-09に行ってきた
会場は池袋コワーキングスペース OpenOffice FOREST、サンシャイン側だ。
発表
「NSTextViewにコマンドパレットをつける」キーボードのみで操作できるように、NSTextViewにコマンドパレットをつける仕組みの発表で、CMD + Lで起動し、出現したNSTextFieldに文字を打つと、関連するメニューやコンテンツが選択できるようになるものだ。
「macOS/iOS/An
[cocoa][swift]Tweeting
システム側でのSNS共有のサポートが終了したり、公式のTwitter Kit SDKのサポートが停止するなどで、スマートフォン・アプリケーションにTweet機能を組み込む方法が変わってきているので、今時点のTweet機能を組み込む方法を調べてみた。
- ios
- Social.framework
iOS11から廃止。
- Twitter Kit SDK
[cocoa][swift]NSUndoManager
NSUndoManagerの利用は、Swiftで楽になったと思うが、その仕組みが見えにくくなったと思うので、Objective-Cの場合から説明する。
CocoaのUndoとRedoは、NSInvocationというクラスでNSObjectの子クラスとメソッドを保持し、それをNSUndoManager内のスタックで管理することで実現している。
なんらかの操作を行うと、Undoに必要なNSInv
[cocoa][swift]iOSアプリケーション開発入門:はじめの一歩
開発環境
- mac
- iOS機器
Apple Developer Program
- https://developer.apple.com/jp/programs/
無料でも開発できますが、有料の登録をお勧めします。
参考資料
- 無料の"ブック"アプリのSwift Programming Series
The Swift Programming Language (Ap