Swift クラス名を文字列で取得

Swift クラスの型名を文字列取得

Swift の 「クラス 変数」 の型名を 文字列で取得する方法

let s: String = "文字列"
let anser: String = String(describing: type(of: s))
print(anser)

変数 anser には 「String」という文字列が入ります。

変数 anser には 「String」という文字列が入ります

Optionalの場合

let i: Int? = 1
let anser: String = String(describing: type(of: i))
print(anser)

上↑の 変数anser には「Optional<Int>」が入りました。

クラスの場合

class TObject {}
let obj1 = TObject()
let anser: String = String(describing: type(of: obj1))
print(anser)

TObjectというクラスを作成しました。

変数 anser には 「TObject」という文字列が入りました。

型名は、 下記のように取り出すこともできます

let anser: String = String(describing: type(of: TObject.self))

もしくは

let anser: String = String(describing: TObject.Type.self)

“TObject.Type”という文字列が入りました。

Xcode macOSアプリ 配布方法

Xcode macOSアプリ配布

XcodemacOSアプリ作成しApp Store以外の方法で配布する方法です。

リリースビルドは、ProfilingとArchiveの2つ方法があるようでした。

Profiling

Xcode メニューの[Project|Build For|Profiling]をクリック

[Project|Build For|Profiling]

~/Library/Developer/xcode/DerivedData/アプリ名-xxx/Build/Products/Release

上記ディレクトリにAPPが作成されています。

Archive

Xcodeメニューの[Project|Archive]をクリック

Menu Archive

下の画面が開きます。

Archives 画面

右側にある[Distribute App]をクリック

[Cory App]を選択し[Next]ボタンをクリックしファイルを保存します。

配布アプリ比較

ProfilingとArchiveどちらの方法でも問題なく他のmacOSで動きました

適当に作成したアプリでサイズを比較すると 「Profilingで作成=427KByte, Archiveで作成=359KByte」Archiveの方がアプリが小さくなっていました。

恐らくArchiveを使うことが正しい手順だと思います。

社内配布する場合、ZIPではなく.dmgで渡すほうがいいです。

2022 MJELD TECHNOLOGIES. ALL RIGHTS RESERVED