アプリ開発と実行(macOS)

nexacro platformで開発したサービスを、Mac OSのユーザーにハイブリッド運用方法で配布することができます。開発者が作成したプロジェクトを持って、管理者は配布ファイルを作成する必要があります。この章では、配布ファイルを生成する過程を簡単にガイドします。

準備

開発環境

Mac OSで使用できるアプリを生成するためには、Xcode開発環境が必要です。追加のコーディングプロセスは必要せず、既に作成されたnexacro platformアプリを、Mac OSで使用できるようにする作業のみ必要です。

基本的な開発環境は下記の通りです。

項目

説明

Xcode

インストールが必要なことがあります。

https://developer.apple.com/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ビットアプリで作られたアプリは、実行されません。

Allow Arbitrary Loads項目の値を「YES」に設定しない場合、WebBrowserコンポーネントが画面に表示されません。