macOS インストールしたアプリのBundle Identifier確認方法

アプリのbundle identifierを取得

macOSにインストールしたアプリはBundle Identifierというアプリ名以外の固有名を持っています。Xcodeなどで、macOSアプリ開発を行う場合Bundle Identifierを指定しています。

XcodeでのBundle Identifier設定
XcodeでのBundle Identifier設定

macOS上にインストールされたOffice 365 Excelなども、同じくBundle Identifierを持っています。Bundle IdentifierをmacOSから簡単に確認するにはAppleScriptが利用できます。下記はSystem EventsのIdentifierを取得するコード例です。ターミナルで実行します。

osascript -e 'id of app "System Events"'

System Eventsは「com.apple.systemevents」であることが確認できます。

macOSにインストールしたOffice 365 Excelの場合は下記のように確認できます。

osascript -e 'id of app "Microsoft Excel"'

ExcelのBundle Identifierはcom.microsoft.Excelでした

C# .NET6 macOS MySQLデータ取得 / カラム名一覧取得

C# .NET6 macOS MySQLデータ取得 / カラム名一覧取得

C# .NET6MySQL接続するためmacOSのターミナルから[パッケージを組込む]ための「add package」コマンドを実行します。

dotnet add package MySql.Data --version 8.0.28

MySQLで下のtestという名称のテーブルを用意しました。

testテーブル

このtestテーブル内容をC# .NET6から取得する2つのコード例です。

MySqlCommandのExecuteReader()を使う場合

using MySql.Data.MySqlClient;
using System.Data;
string mysqlConnectStr = string.Format("Server={0};Database={1};Uid={2};Pwd={3};Charset={4}", "127.0.0.1", "x", "x", "x", "utf8");

var mysqlConnect = new MySqlConnection(mysqlConnectStr);
mysqlConnect.Open();
var myCommand = new MySqlCommand("select * from test", mysqlConnect);

var read = myCommand.ExecuteReader();
while(read.Read()){
    Console.WriteLine("{0}, {1}", read["title"],read[1]);
}
mysqlConnect.Close();

カラム名でもカラムインデックスでも取得可能でした。

MySqlDataAdapterを使う場合

using MySql.Data.MySqlClient;
using System.Data;
string mysqlConnectStr = string.Format("Server={0};Database={1};Uid={2};Pwd={3};Charset={4}", "127.0.0.1", "x", "x", "x", "utf8");

var mysqlConnect = new MySqlConnection(mysqlConnectStr);
mysqlConnect.Open();
var myCommand = new MySqlCommand("select * from test", mysqlConnect);

var rows = new MySqlDataAdapter(myCommand);
var dt = new DataTable();
rows.Fill(dt);

foreach(DataRow line in dt.Rows){
    foreach(var col in dt.Columns){
        Console.WriteLine("Column Name = {0}, Value = {1}", col, line[col.ToString()]);
    }
}
mysqlConnect.Close();

DataTableを使ってColumn名を取り出しています。

2022 MJELD TECHNOLOGIES. ALL RIGHTS RESERVED