nexacro platformで開発したサービスを、Mac OSのユーザーにハイブリッド運用方法で配布することができます。開発者が作成したプロジェクトを持って、管理者は配布ファイルを作成する必要があります。この章では、配布ファイルを生成する過程を簡単にガイドします。
準備
開発環境
Mac OSで使用できるアプリを生成するためには、Xcode開発環境が必要です。追加のコーディングプロセスは必要せず、既に作成されたnexacro platformアプリを、Mac OSで使用できるようにする作業のみ必要です。
基本的な開発環境は下記の通りです。
項目 | 説明 |
---|---|
Xcode | インストールが必要なことがあります。 |
xcodebuild | Xcodeのインストール時にインストールされます。 |
アプリプロジェクト開発
Xcodeにて、下記のような手順に従ってmac OS用アプリプロジェクトを開発します。アプリプロジェクトを進行する前に、nexacro studioで開発されたアプリから作成されたアーカイブファイルは、指定したパスに配置する必要があります。
プロジェクト生成
nexacro platformで開発されたアプリを入れるMac OSプロジェクトを生成して、基本環境を設定する必要があります。新しいプロジェクトは、下記のメニューから生成することができます。
File > New > Project > macOS
プロジェクトを生成するためのテンプレート画面で「Cocoa App」項目を選択します。
Languageは「Objective-C」に設定し、Product Nameとその他の必要な情報を入力して、プロジェクトを生成するフォルダの場所を指定した後、[Create]ボタンをクリックします。
nexacro platformライブラリ設定
Mac OSプロジェクトにて、nexacro platformに最適化された環境を作るために追加で提供されるnexacro platformライブラリファイルを設定します。
nexacro platformライブラリは、圧縮ファイル形式で提供され、nexacro17.macOS.framework.zipというファイル名で提供されます。提供されるファイルは、圧縮を解放して生成されたプロジェクトの任意のフォルダにドラッグするか、[Add Files to]メニューで追加します。
File > Add Files to "..."
リソース設定
アプリで使用するロード画像、アイコン、メッセージ、レイアウトなどを設定する手順です。進行中のプロジェクトに応じて変更して適用することができます。
Copy Bundle Resourcesに画像ファイルを追加した後、main.mファイルを変更します。
startManager.splashImageName = @"rezero.jpg";
ビルド環境設定
デフォルトで生成されたファイルの中で、使用しないAppDelegate.h、AppDelegate.m、MainMenu.xibファイルは削除します。
main.m
Supporting Filesフォルダの下にあるmain.mファイルを下記のように変更します。
// main.m #import <Cocoa/Cocoa.h> #import "nexacro17/nexacro.h" int main(int argc, const char * argv[]) { NexacroStartManager *startManager = [NexacroStartManager sharedManager]; // 省略時、アプリ名に自動設定 startManager.applicationKey = @""; // 必須入力値であり、デフォルトのブートストラップファイル名を使用する場合、start_macos.jsonファイル名は省略可能 startManager.bootstrapUrl = @"http://172.10.12.180:8080/Mobile_Test/start_macos.json"; // 省略時、bootstarpファイルがあるパスに自動設定 startManager.projectUrl = @"http://172.10.12.180:8080/Mobile_Test/"; // 初期ロード画面設定(リソースフォルダを参照。省略時、nexacro platformのデフォルトロード画面を使用します。) // startManager.splashImageName = @"sample.png"; [NSApplication sharedApplication]; [NSBundle loadNibFile:[startManager getNexacroNibFile] externalNameTable:nil withZone:nil]; [NSApp run]; return EXIT_SUCCESS; }
その他設定
General | Deployment Target: 10.7 Main Interface:MainMenuを削除 |
---|---|
Build Settings | Architectures: $(ARCHS_STANDARD) macOS Deployment Target: macOS 10.7 Objective-C Automatic Reference Counting: Yes |
2018年にリリースされたMac OSから32ビットアプリのサポートはdeprecatedに変更され、2019年からはiOS11のように、32ビットアプリで作られたアプリは、実行されません。
Build Phases - Copy Files項目でフレームワーク追加
(+)クリック後 > New Copy Files Phase > Destination: Frameworks
nexacro17.framework追加
info項目で下記の設定を追加/変更
App Transport Security Settings > Allow Arbitrary Loads
Allow Arbitrary Loads項目の値を「YES」に設定しない場合、WebBrowserコンポーネントが画面に表示されません。