ホーム‎ > ‎Magic xpa‎ > ‎

Magic xpa 新連載概要


Broker モニターによる複数ポートと複数アプリの管理

2019/07/07 1:36 に Masanobu Tanda が投稿   [ 2019/07/07 1:36 に更新しました ]

第136回 Broker モニターによる複数ポートと複数アプリの管理

Broker モニターとは、Magic に添付されている Broker の動きをリアルタイムでモニタリングするツールのことです。アプリケーションが正常に動作しているかどうかの確認や、アクセスログを見たりすることができる便利なツールです。

デフォルトでは、この Broker モニターは単一アプリケーションの監視を担う役割となっていますが、実はこのモニタリングツールは複数の Broker を一元管理できる仕組みとなっており、複数のアプリケーションや複数の Magic 製品、あるいは RIA と Web マージとを同時に管理したりすることも可能となっています。

※画面1は、Magic xpa 2.5 RIA Server と Magic xpa 3.1a Enterprise Server、および Magic xpa 3.2c RIA Server の3つを一元管理している図です。

今回はこのモニタリングツールを使った複数ポート、複数アプリケーションの管理法について学んでいきたいと思います。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第135回 手動ビルドの iOS クライアントで位置情報を取得する

2019/06/01 22:38 に Masanobu Tanda が投稿   [ 2019/06/01 22:43 に更新しました ]

第135回 手動ビルドの iOS クライアントで位置情報を取得する

前回の動作確認では、App Store 提供の iOS 汎用クライアントでは位置情報の取得が可能であるにもかかわらず、最新版の Xcode によるオリジナルビルドでは位置情報の取得ができないというところまでを確認しました(画面1~3)。

では、この原因はいったいどこにあるのでしょうか?

原因は、iOS の位置情報にまつわるセキュリティの仕様変更にあります。

iOS 10 + Xcode 8までは、位置情報の利用は「常に許可」または「許可しない」からの二者択一だったのですが、iOS 11 + Xcode 9以降は「このアプリの使用中のみ許可」という選択肢が必須オプションとなったため、従来の記述方式ではこのダイアログが正常に表示されなくなりました(画面4)。

そのため、App Store 提供の汎用クライアントでは画面5~6のように位置情報の設定オプションが iPhone の設定項目として表示されているにもかかわらず、オリジナルビルドでは画面7のように設定項目が非表示となってしまっています。

では、これに対処するにはどうしたらよいでしょうか。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第134回 iOS クライアントの手動ビルド

2019/05/05 21:51 に Masanobu Tanda が投稿   [ 2019/05/05 21:52 に更新しました ]

第134回 iOS クライアントの手動ビルド

前回の Android クライアントの手動ビルドに続き、今回は iOS クライアントの手動ビルドについて解説いたします。

Magic のインタフェースビルダを用いた Xcode プロジェクトの生成法については、本連載の第120回から第123回に渡って解説しましたが、ここではインタフェースビルダを使用せず、すべてを手動でビルドする方法について解説します。

Magic xpa の当初の理念は、Xcode の知識がなくてもインタフェースビルダとシェルスクリプトの実行だけで iOS 用のビルドが完了するという簡便性にあったのですが、Xcode の進化と共にアプリの認証法が容易になってきたため、Xcode を起動して手動でビルドを行ったほうが簡潔に処理できるようになってきた経緯があります。

このような歴史的な観点を踏まえて、手動ビルドの方法について検証していきたいと思います。

なお今回より、使用するソフトウェアのバージョンが iOS 12.2、Xcode 10.2.1、macOS 10.14.4となります。これは実機ビルドに際して、最新の iOS のバージョンにフェーズを合わせるための必須環境となります。バージョンアップはすべて無償ですので、App Store より最新のバージョンを取得してインストールしておいてください。

使用する Magic xpa のバージョンは、3.2c PT3 + xpa 3.2c_iOS_HotFix となります。とくに、下記フォルダの libMgxpaRC.a ファイルのタイプスタンプが2018/07/19以降になっていることを確認しておいてください。PT3 を当てただけでは、このファイルが更新されません(画面1)。

※このアップデートがないと、iOS 画面のナビゲーションバーとタイトルバーの表示が重なってしまいます。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第133回 Android クライアントの手動ビルド

2019/03/31 20:44 に Masanobu Tanda が投稿   [ 2019/03/31 20:45 に更新しました ]

第133回 Android クライアントの手動ビルド

本連載の第124回から第127回に渡り、「インタフェースビルダで Android クライアントを作る」と題して、インタフェースビルダを用いた Android クライアントのビルド方法を解説してきましたが、今回ここではもう一つ別のビルド手段である手動ビルドの方法について解説して参りたいと思います。

インタフェースビルダを用いた方法は、ウィザードというブラックボックスを用いた方法である関係上、ビルドの途中で何かトラブルが発生した場合に個々の要素を順を追って確認することが困難です。これに対してコマンドを用いて手動ビルドを行う方法は、設定が面倒である反面、個々の設定要素を目視で確認できるというメリットがあります。

どちらが便利であるかは環境に応じて異なりますが、マジック社では手動によるビルドを推奨しているようですので、本連載も手動によるビルド法を詳細かつ具体的に解説していくことにします。ビルド時に画面1のようなエラーばかり出てお困りの方は、ぜひお役立てください。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第132回 デバイスの位置情報取得と Map 表示

2019/03/01 21:48 に Masanobu Tanda が投稿   [ 2019/03/01 21:50 に更新しました ]

第132回 デバイスの位置情報取得と Map 表示

現在、市場に出回っているモバイルは、そのほとんどすべてが GPS を搭載しています。そして Magic には、外部ライブラリを一切使用せずに、この GPS から位置情報を取得する機能が用意されています。

そこで今回は、Magic のこの位置情報取得の機能を利用して、読み取った緯度・経度からマップ上に現在地を表示するというプログラムを作成してみたいと思います。

利用する Map アプリは何でも良いのですが、ここでは例として Google Map を利用します。Google Map は API やオプションパラメータが充実しており、Magic との連携も容易です。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第131回 1台のマシンに Magic 開発版と RIA Server を共存させる

2019/02/03 22:04 に Masanobu Tanda が投稿   [ 2019/02/03 22:40 に更新しました ]

第131回 1台のマシンに Magic 開発版と RIA Server を共存させる

RIA アプリを開発していると、同一マシン上に Magic 開発版と Magic RIA Server を同居させて動作確認をしたくなるケースが往々にして発生します。

しかしながら、これをデフォルトインストールのまま実行させると、Magic 開発版上においても、あるいは Magic RIA Server 上においても、思わぬ不具合や予期せぬ動作に出会ったりすることがあります。

今回は、この両者を1台の Windows マシン上に両立させる手法について学びます。なおこの手法については、弊社の「iPhone RIA アプリ開発セミナー・ビルド編」および「Android RIA アプリ開発セミナー・ビルド編」にても詳しく解説しています。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第130回 モバイル RIA で写真を撮ってサーバにアップロードする(2)

2018/12/30 19:26 に Masanobu Tanda が投稿   [ 2018/12/30 19:26 に更新しました ]

第130回 モバイル RIA で写真を撮ってサーバにアップロードする(2)

このプログラムは Magic 側のタスクですべてが完結するプログラムです。macOS 上で Xcode プロジェクトを操作したり、あるいは Android Studio でクライアントアプリを編集したりする必要はありません。したがって、MSJ 社提供の汎用クライアントアプリでも十分に動作します。

MSJ 社提供の汎用クライアントアプリは、iOS の場合は App Store から、また Android の場合は Play ストアから、誰でも無料でダウンロードすることができます。

プログラムは、たった1つのタスク(ロジック10行)で動作します。では、作成していくことにしましょう。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第129回 モバイル RIA で写真を撮ってサーバにアップロードする

2018/11/29 21:20 に Masanobu Tanda が投稿   [ 2018/11/29 21:20 に更新しました ]

第129回 モバイル RIA で写真を撮ってサーバにアップロードする

iOS や Android のカメラで、物件や部品の写真を撮影してサーバにアップロードするという処理は、従来のアプリではカメラでの撮影と画像の送信処理が別セッションで行われるというケースが多かったのですが、昨今はモバイル搭載のカメラ機能の向上とともに、一連の流れが同一セッション内で行われる手法が主流となってきました。

そこで今回は、Magic のタスク内で iOS や Android のカメラを呼び出し、そこで撮影した写真をそのままサーバにアップロードしたり、あるいはモバイルの写真フォルダ内の既存の写真を選択してサーバにアップロードするという技法を紹介したいと思います。

プログラムはすべて Magic 標準の機能でまかない、外部ライブラリは一切使用いたしません。Magic のモバイル RIA だけですべてが完結します。ただし、Magic の最新機能を使用しますので、Magic xpa 3.2以降のバージョンが必要となります。

※このプログラムは Magic の標準機能しか使用しませんので、オリジナルクライアントのビルドは不要で、MSJ 社によるストア提供の汎用クライアントでそのまま動作します。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第128回 Android 用 Key store の作成と埋め込み

2018/10/31 23:57 に Masanobu Tanda が投稿   [ 2018/10/31 23:59 に更新しました ]

第128回 Android 用 Key store の作成と埋め込み

iOS にはアプリの出所証明とアプリの改ざん防止の目的から「プロビジョニングプロファイル」という機能が盛り込まれていますが、Android アプリにもこれと似た機能として「Key store」という機能が備えられています。

今回は、この Key store の作り方と Magic Android クライアントへの埋め込み方についてまとめてみました。これにより、Magic で作られた Android クライアントのセキュリティが強化されるだけでなく、製作者の権利を主張することが可能となります。

Key store は、デフォルトでは Magic に添付されている「test.keystore」が適用されます。これは Magic に標準添付されているもので、これを使用する限り、どの会社のどのアプリにも同一の証明書が埋め込まれてしまうこととなり、セキュリティの観点上、好ましくありません。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第127回 インタフェースビルダで Android クライアントを作る(4)

2018/10/01 20:05 に Masanobu Tanda が投稿

第127回 インタフェースビルダで Android クライアントを作る(4)

JDK と Android Studio のインストールが完了したら、あとは Magic 側に用意されたウィザード(インタフェースビルダ)を実行するだけです。ウィザードの完了とともに、Android 機へのインストーラである .apk ファイルがバックグラウンドで自動生成されます。

ビルドに際しては、基本的に Java や Android SDK のコマンドを直接、操作する必要はありません。以前は SDK のコマンドを直接実行してビルドを行っていましたが、今は特別な設定が必要でない限り、コマンドの知識も不要です。Magic のウィザードが自動でビルド作業を行ってくれます。 

ここでは、このウィザードである「インタフェースビルダ」の使用法を中心に解説してまいります。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

1-10 of 136