Second Contacts2はmacOS 10.13から利用できる機能を利用してSecond Contactsを書き換えたものです。
最新のmacOSとXcodeを使って作成しています。macOS 10.13以降で動作します。
Second Contacts2とSecond Contactsはほぼ同じ機能を搭載していますが、書き換えの際に、macOSの新しい機能への対応や、コードの最適化などを行なっています。連絡先の読み込みが高速になっていたり、検索と置換において"Replace All"が行えるなど、新しい機能も搭載されています。
Second ContactsはmacOS 10.9で動作するために、macOS 12.7.4 + Xcode 13.4を使って作成しています。サポートmacOSは10.9から12.3となります。Xcode support
また、連絡先を読み書きするためにAddressBook.frameworkと呼ばれるシステム機能を利用しています。Appleは10.11以降ではAddressBook.frameworkの変わりにContacts.frameworkを利用するようにアナウンスしています。近い将来、macOSでAddressBook.frameworkが利用できなくなることが予想されます。古いmacOSを使っている、などの理由がないのであれば、Second Contacts2を選択することをお勧めします。
toolbarにあるサイドバーボタンの右側をクリックする、もしくは操作メニューの連絡先から「詳細情報を開く」を選択すると、選択されている連絡先の詳細情報がウインドウの右側に表示されます。
Editボタンの状態により表示方法が変化します。
状態が"Edit"の場合には、従来通り情報がテーブル表示され、項目の編集が行えます。
状態が”Lock"の場合には、項目毎に分割されたテキストで表示され、編集が行えません。
ウインドウの幅に応じて情報が2段に表示されます。
Second Contacts2がシステムの連絡先情報にアクセスできるように設定を変更してください。
連絡先情報はPrivacy保護機能によりアクセスが制限されています。
Second Contacts2が初めて起動する際に連絡先へのアクセスを許可するかどうかのアラートが表示されます。許可されないと連絡先が表示できません。
システム環境設定の「セキュリティーとプライバシー」内にあるプライバシーで連絡先設定でも、許可することができます。 パネル内で連絡先を選択し、Second Contats2をチェックしてください。
Second Contacts2が表示するデータには二つの種類があります。ひとつはラベルのあるデータで、電話番号の"Home: 0120-3456-7890"のようにラベルと文字列が対になったデータです。もうひとつは会社名"Apple Inc"のように文字列だけからなるデータです。
住所はラベル付きデータであり、ラベルと住所をペアにして、任意の数を登録できることができます。このため、データの追加・削除を行うための専用の編集パネルが表示されます。
電話番号やメールアドレスはセルが直接編集できますが、住所とインスタントメッセージとソーシャルネットワークの3つは文字列が複数の項目からなるため、セルが直接の編集ができません。
なお、すべての変更は、一括変更も含め、編集メニューにある「取り消す」と「やり直す」で変更を取り消したり、やり直しすことができます。
ラベルを持たないセル、および文字列が複数の項目からならないセルは直接編集が可能です。
EnterキーもしくはTabキーで入力が確定します。Enterキーは次の行のセルに移動します。
Tabキーは右のセルに移動します。次の行のセルが空の場合と右のセルがラベルを持つ場合は編集パネルが表示されます。
ラベルを持つセルではCMD+Dobule Clickにより編集パネルが開きます。編集パネルでは項目の追加と削除が行えます。
住所とインスタントメッセージはセルをダブルクリックすると専用の編集パネルが開きます。
住所の編集はアドレス編集パネルを通して行います。住所のセルをダブルクリックすると下図のような編集パネルが表示されますので、それぞれの項目を入力します。
住所のセルをコマンドキーを押しながらダブルクリックすると下図のようなパネルが表示されます。テーブルのセルをダブルクリックすればセルが入力モードになり、文字列が変更できます。
両方のパネルにあるCoutry Codeは住所のフォーマットを決定します。"システムディフォルト"が選択されている場合にはシステムローケールのCountry Codeの値が参照されます。
なお、Country Codeと入力フィールドにある「国」の名称は一致している必要はありません。「国」の値は、単なる文字列として扱われます。
ウインドウに表示されているデータの中で見つかった文字列が灰色とオレンジ色にハイライトされます。
"〈"または"〉"をクリックするとオレンジのハイライトが移動します。
FindBarの"置換"フィールドに文字を入力し、置換ボタンをクリックするとオレンジ色にハイライトされている文字列が置換されます。
Allボタンをクリックすれば、テーブルに表示されているすべての文字列が入力した文字列に置き換わります。ただし、例えば、Companyカラムが表示されていない場合、Companyは置換対象となりません。
間違えて置換してしまった場合は、編集メニューの「取り消し」により置換をやり直すことができます。
住所の検索は郵便番号、県、市などの項目毎に行われます。 例えば、都道府県が"東京都"で市町村が"西新宿"の場合、"東京都西新宿"では検索できません。その代一致した文字列、東京都や西新宿の置換が行えます。
誕生日と日付カラムの文字列も検索することができますが、置換はできません。 内部のデータ形式が文字列でないのが理由ですが、置換文字列を判断して日付に変換する方法を検討中です。
編集メニューにある「検索パネルを表示」を選択するか、ショートカットのCmd+Shift+Fをタイプすると、下図のような検索パネルが表示されます。
このパネルではデータのタイプやラベルで選択された項目を絞り込んで検索を行います。一致した項目がその名称とともにテーブルにリストされます。
「置換」ボタンをクリックすれば、オレンジ色ハイライトされている文字がReplaceフィールドにある文字列と置き換えられます。
「一括置換」ボタンをクリックすると、オレンジとブルーでハイライトされた文字列が置換されます。
これらの操作は編集メニューにある「取り消し」によりやり直すことができます。
パネルの右上にある「Edit/Lock」ボタンをクリックして、編集モード(ボタン名がLockになります)にすると、「値」カラムのセルをダブルクリックして、そのセルの値を直接書き換えることもできます。この操作も「取り消し」ができます。
なお、テーブルカラムのヘッダーをクリックするとそれぞれの項目でテーブルがソートできます。
検索パネルにある「検索モード」メニューからRegexを選択すると、Regex(正規表現)を使った条件検索が行えます。
正規表現についてはこちらのWiKiの説明をご覧ください。下図の例では、"^.[op]"により、先頭から2文字目がoまたはpとなっている文字列を検索します。
電話、メールアドレスやノートカラムなどの文字列が一括変更ができます。
ウインドウのeditボタンをクリックして編集モードに切り替えた後で、複数行を選択し、例えば電話のセルのテキストをダブルクリックします。
一括変換するかどうかのアラートが表示されますので、OKをクリックすれば選択されている行の電話カラムのテキストがすべて同じものに変換されます。
会社名やノートカラムなどの値も一括変更ができます。 セルのコンテキストメニュー(Controlキーを押しながらセルのテキストをクリックすると表示されます)から一括変換することもできます。 上と同じように複数の行を選択してからコンテキストメニューを表示して、変更操作を行うことができます。
変更は「取り消し」してやり直すことができますので、試して便利にお使いください。
グループへのメンバーの追加はグループパネルを開いて行います。
グループパネルを開いたら、editボタンをクリックしてSecond Contacts2を編集モードにします。
グループに追加したい連絡先を選択してグループパネルのグループ名にDrag&Dropします。
グループからメンバーを削除する場合には、グループ名をクリックして、その連絡先をリストし、削除したい連絡先を選択して連絡先ボタンにある削除メニューをクリックします。
選択した連絡先がグループから削除されますが、"All Contact"からは削除されません。
名前カラムの名称にはイメージがアイコン表示されます。このアイコンは連絡先の詳細を開いて変更することができます。
イメージをセットするには、ファインダーでイメージファイルを選択して、画面のアイコンにDrag&Dropします。
または、イメージを右クリックするか、コントロールキーを押しながらクリックすることで表示されるコンテキストメニューから「イメージの追加」もしくは「イメージの置換」を実行することでも行えます。ファイルを選択するためのパネルが表示されますので、イメージファイルを選択します。
削除するにはアイコンをクリックしてControl-Clickによりコンテキストメニューを表示すると表示される「削除」を実行します。
Second Contacts2はvCardファイルおよびCSVファイルの読み込みと書き出しが行えます。
読み込みはファイルメニューの「開く...」から行います。
「開く...」を選択すると、ダイアログが開き、vcfもしくはcsvを拡張子に持つファイルが選択できます。 ダイアログで「開く」ボタンをクリックすれば、vCardもしくはCSVに含まれる連絡先とその情報がテーブル表示されます。
AddressBookのウインドウと同じようにラベル付き情報の表示、検索やソートや編集が行えます。なお、CSVファイルについてはRead Onlyで表示され、編集はできません。
連絡先を選択して、Drag&Dropにより、別のウインドウへコピーを行うこともできます。
CSVの各行は項目が次のように並んでいることを想定していますが、1行目に項目名をリストすることで項目を分類することが可能です。サンプルファイルを参考にCSVファイルの先頭に項目名のリストを追加してみてください。
Name,Home Phone,Work Phone,Other Phone,Home Email,Work Email,Other Email,Home ZIP,Home State,Home City,Home Street,Work ZIP,Work State,Work City,Work Street,Other ZIP,Other State,Other City,Other Street,Birthday,Title,Company,Department,Job Title,First Name,Last Name,Nickname,Note,Facebook,LinkedIn,Flickr,SinaWeibo
download sample csv サンプルファイル
CSVの読み込み時はファイルの1行目にあるヘッダーからデータのタイプを判定して連絡先に変換します。読み込みに失敗する場合には、サンプルデータを参考にデータに1行目を追加してください。
読み込み時にはテキスト・エンコーディングが指定できます。ファイルを選択する際に表示されるパネルの下部にあるEncodingメニューからテキスト・エンコードを選択してください。
Windowsで作成されたvCard/CSVファイルはテキスト・エンコーディングがShift-JISになっていることがあります。その場合にはendocingメニューのAutomaticをJapanese(Shift-JIS)に変更して読み込んでください。
なお、encodingメニューに「日本語(Shift-JIS)」が表示されていない場合、"Customize Encoding List..."からエンコーディングの一覧を表示してメニューに追加できます。
連絡先をCSVファイルへ書き出すには、ファイルメニューの「CSVファイルへ書き出す」を選択します。 ウインドウで連絡先が選択されていると有効になり、選択された連絡先がファイルダイアログでセットしたファイルに書き出されます。
CSVファイルで書き出す場合、ファイルの先頭行に項目を説明する行が追加されます。
従って、連絡先の上に示したkeywordに一致した項目のみが書き出されます。
またテキストエンコーディングはUTF-8となります。
特定の項目を取り出したいときには編集メニューにある「CSV形式でコピー」をご利用ください。
連絡先の詳細ビューはドラッグ&ドロップを使って、行の並びが変更できます。
Typeカラムのセルでマウスをクリックし、クリックしたままマウスを移動するとドラッグイメージが表示されます。そのまま、移動したい行まで移動してクリックを解除すると、選択した行が移動します。
Second Contacts2 3.3.0から、連絡先に任意の情報(カスタム項目)を登録することができます。連絡先にお好みの名前やラベルを付けた情報を表示できます。
カスタム項目の登録は、項目メニューの「カスタム項目リストを表示する」選択することで開くパネルから行います。 その際に、名前とタイプを指定します。タイプには文字列タイプとラベル付きタイプの2種類があり、文字列タイプは、値が文字列となります。ラベル付きタイプは、電話番号やメールのようにラベルをつけた文字列からなります。登録したいデータによりどちらかのタイプを選ぶことになります。
注意事項:登録したカスタム項目はiCloudのアプリケーションデータとして連絡先毎に保存されます。AddressBookデータベースには保存されませんのでご注意ください。つまり、Apple連絡先で開いても表示されません。また、AddressBookデータベースを利用する他の連絡先アプリケーションでも表示されることはありません。Second Contacts2を削除すると登録したカスタム項目も削除されることになります。