2016-10-14 7 views
0

これは基本的な要求のようですが、私はどこにでも答えを見つけることができません。私が書いた既存のiOSコードをAppceleratorモジュールでラップしたい。それでおしまい。重要な点:新しいAppceleratorモジュールに既存のiOSコードをラップする方法は?

  1. 私は既存のサードパーティのiOS SDKをラッピングしません。
  2. ラップされているiOSコードを書きました。
  3. コードがxcode内で動作していることが確認されています。
  4. .aファイルはありません。 2倍の.hファイルと2倍の.mファイルがあります。
  5. iOSコードには、ネイティブBluetoothハードウェアをアプリケーションに接続するように設計されているだけなので、UI要素はありません。
  6. 私は一般的なappcelerator iOSモジュールプロジェクトを作成し、それを構築し、アプリケーション内でジェネリックID関数を呼び出すことに成功しました。
  7. ジェネリックモジュールを編集して自分のコードを利用する方法を理解できません。どんな試みでもコンパイルが拒否され、悲惨です。
  8. 私はHyperloopにアクセスできません。

ラップされたモジュールを正常に構築できたら、ネイティブのBluetoothハードウェア検索をトリガーする初期化関数を呼び出します。接続されると、ハードウェアにコマンドを送信してデータを受信する機能がモジュール内にあります。私は空白のモジュールをビルド助け

http://docs.appcelerator.com/platform/latest/#!/guide/iOS_Module_Quick_Start

は、アプリでそれを含めて、それが試験特性に建て呼び出すことによって働いていることを確認します。これは私がこれまで続いてきた公式ドキュメントです。そこから、実際に私が知る必要があることを私に伝えることができなくなります。私にできることならば

  1. http://docs.appcelerator.com/platform/latest/#!/guide/iOS_Module_Project-section-43288810_iOSModuleProject-AddaThird-PartyFramework
  2. appcelerator module for existing ios project sdk

ヘック、私もまだ知らない:これらはまだ私が必要なものではないが、私がこれまでに発見した最も近いものですこれはスタジオ内で、またはXcodeでジェネリックモジュールを編集する必要がある場合です。助けて! :)多くの前もって感謝します。

答えて

1

まず、これはベストプラクティスではなく、今後SDKが変更され、モジュールが古いコアAPIに依然として依存している可能性のある問題を引き起こします。

あなたの質問に関しては、既存のクラスをサブクラス化する新しいコンポーネントを作成することができます。

class TiMyModuleListViewProxy : TiUiListViewProxy { 

} 

var myList = MyModule.createListView(); 

か、例えば、独自のロジックで、既存のAPIを拡張するために、カテゴリを作成してそれを呼び出します

@interface TiUIListViewProxy (MyListView) 

- (void)setSomethingElse:(id)value; 

@end 

@implementation TiUIListViewProxy (MyListView) 

- (void)setSomethingElse:(id)value 
{ 
    // Set the value of "somethingElse" now 
} 

@end 

私はそれがより良いObjective-Cのコードスタイルにマッチするので、2番目のオプションを好むが、それでも機能であなたの実装に影響を与える可能性のあるコアの変更があることにご注意くださいます。ありがとう!

+0

多くのおかげで、これは正しい軌道に乗った!ここに戻る前に私が考えていたすべての可能な実験を使い果たしたかったので、しばらく時間がかかりました。私はあなたが示唆したようにAPIを拡張し、それは美しく働いた。 :)これを読んでいる他の人には、ViewProxyと一緒に、対応するViewを作成しなければなりませんでした。それがなければ、initializeStateはトリガーしませんでした。 –

関連する問題