最近のアクセス:
iOS のユーザーコントロールまたは外部オブジェクト用のフレームワークテンプレート

はじめに

Apple プラットフォーム (iOS、AppleWatch、AppleTV) 用のユーザーコントロールや外部オブジェクトを開発する場合は、Xcode テンプレートから開始すると便利です。
Xcode テンプレートは、GeneXus SDK に含まれています。SDK をインストールして、インストールディレクトリーにある XcodeTemplates フォルダを探してください。

テンプレートのインストール

テンプレートをインストールするには、XcodeTemplates フォルダを GeneXus SDK インストールディレクトリーから Mac コンピューター内の別の場所にコピーして、xcTemplates の下にある installTemplates.sh スクリプトをターミナル.app から実行します。
正常にインストールされているか確認するには、 [ Xcode ] -> [ File ] -> [ New ] -> [ Project ] の順に移動し、 [ Cross-platfotm ] を選択して、 [ GeneXus ] に [ GX Framework ] オプションが表示されることを確認します。
イメージ:32534.png

Xcode の設定

GXSDK グローバル変数の定義

GeneXus フレームワークのある場所のパスを示す GXSDK グローバル変数を Xcode で定義する必要があります (場所は通常、/Library/GeneXus/GeneXus/<GX のバージョン番号> です)。
そのためには、 [ Xcode ] -> [ Preferences ] -> [ Locations ] -> [ Custom Paths ] (*) に移動して、GXSDK パスを追加します。
イメージ:32536.png
イメージ:32537.png
(*) 注:  [ Custom Paths ] オプションは、Xcode 7 では「Source Trees」という名前でした。

プロジェクトの作成

Xcode の [ New Project ] ダイアログで [ GX Framework ] オプションを選択すると、次のダイアログが表示されます。
イメージ:32538.png
ここで、次のように設定します:
  • Product Name: 作成するユーザーコントロールまたは外部オブジェクトの名前
  • Language: [ Swift ] か [ Objective-C ] を選択できます。
  • Copy config files: チェックボックスをオンにすると (既定値)、.xcconfig ファイルがプロジェクトのディレクトリーにコピーされます。このチェックボックスをオフにすると、ファイルは元の場所から参照されます。
  • Allow app extension API only: チェックボックスをオンにすると (既定値)、 [ only extensions-enabled ] オプションが利用できるようになります。この値は変更しないことをお勧めします。ほかの API を使用すると、GeneXus アプリと互換性のない拡張機能になる可能性があります。
  • Use shared umbrella header: チェックボックスをオンにすると (既定値)、すべてのサポート対象プラットフォーム (iOS、watchOS、tvOS) を対象に、ヘッダーファイルが 1 つだけ作成されます。オフにすると、プラットフォームごとに個別のヘッダーが作成されます。

ユーザーコントロールまたは外部オブジェクトの実装

次に、適切なベースクラスをサブクラス化して、拡張機能の実装を追加する必要があります。詳細については、「iOS 用ユーザーコントロールの作成」と「iOS デバイス用の外部オブジェクト」を参照してください。

ビルドとデプロイ

Xcode プロジェクトをビルドすると、フレームワークが作成されます。フレームワークは OS X の特殊フォルダで、コンポーネントの実装とすべての必要なリソースが格納されます。フレームワークの詳細については、Apple の「Introduction to Framework Programming Guide (フレームワークプログラミング入門ガイド)」を参照してください。
フレームワークのデバイスインスタンスとシミュレーターインスタンスを両方ビルドする必要があります。そのためには、Xcode で、 [ Schemes ] ドロップダウンからシミュレーターを選択してビルドし、デバイスを選択してもう一度ビルドします。
完了したら、Finder で build フォルダを検索します。もっとも簡単な方法は、Xcode でプロジェクトを右クリックして [ Show in Finder ] を選択する方法です。
build フォルダには、2 つのサブフォルダがあります: Debug-iphonesimulatorDebug-iphoneos です。これらのサブフォルダには、各プラットフォームの実装を含む .framework が格納されています。両方のフレームワークが必要なので、いずれも zip で圧縮する必要があります。

ユーザーコントロール

ユーザーコントロールの場合、作成したフレームワークを使用するには、.control ファイルを修正する必要があります。
.control ファイルに以下を追加してください:
<iOS_SupportFiles>
        <File>iphoneos\MyUserControl.framework.gxzip</File>
        <File>iphonesimulator\MyUserControl.framework.gxzip</File>
</iOS_SupportFiles>
<iOS_ReferencedFiles>
        <File embed="true">./UserControls/$(<プラットフォーム名>)/MyUserControl.framework</File>
</iOS_ReferencedFiles>
ここで、MyUserControl は、ユーザーコントロールの名前です。

外部オブジェクト

外部オブジェクトの場合、GeneXus 15 リリースの時点では、実装を自動でデプロイするメカニズムは用意されていません。そのため、ユーザーがご自身で対処していただく必要があります。
 




サブページ
Created: 17/05/30 19:03 by Admin Last update: 21/05/21 02:39 by Admin
カテゴリ
Powered by GXwiki 3.0