問題タブ [appcelerator-hyperloop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Titaniumで「Hyperloop.defineClassはクラス定義を変数に返す必要があります」という例外を修正するには?
独自のクラスを定義/作成するために Appcelerator Hyperloop で最も簡単なことをしようとしていますが、コンソールからのビルド時エラーでビルドが失敗します (シミュレーターまたはデバイス用にビルドできません)。
新しい空の Alloy プロジェクトから始めて、index.js の先頭に 1 行追加してテストしました。
私が使用している構文は、Appcelerator のドキュメントや独自のサンプル アプリで至る所で見たものです: https://github.com/appcelerator/hyperloop-examples/blob/master/app/lib/ios /subclasses/locationmanagerdelegate.js
コンソール/ターミナルから得られるエラーは次のとおりです。
私の環境:
titanium - ハイパーループ チタン エラー: 要求されたモジュールが見つかりません
ドキュメントに記載されているようにセットアップすると、常に次のエラー メッセージが表示されます:「エラー: 要求されたモジュールが見つかりません: android.app.Activity」、これを解決するには
titanium - ハイパーループと Google Mobile Ads SDK
ti.admob ( https://github.com/appcelerator-modules/ti.admob ) がリワード広告をサポートしていないようなので、appcelerator プロジェクトで Google-Mobile-Ads-SDK を使用しようとしています。そこで、最上位のプロジェクト ディレクトリに Podfile を作成しました。
(ポッドの最新バージョンを使用できませんでした。Xcode は型宣言の問題を解決しました。これは問題なくコンパイルされました。)
次に、次のようにライブラリを使用しました。
そして、コードはエラーで失敗しました:
で生成された対応する .js ファイルを見ると、./build/hyperloop/ios/js/googlemobileads/gadrewardbasedvideoad.js
インスタンス メソッドとプロパティの関数シグネチャがGADRewardBasedVideoAd.h
、loadRequest()
. のヘッダー エントリloadRequest()
は次のとおりです。
これとの唯一の顕著な違いは、名前付きパラメーターを使用していることです。この種の方法で特別なことはありますか?何か間違ったことをしているのですか、それともハイパーループはまだそのような機能をサポートしていませんか?
appcelerator - Appcelerator Hyperloop - サードパーティの迅速なライブラリを使用
サードパーティのオープン ソース ライブラリを使用するために、Hyperloop を使用しようとしています。使いたいライブラリはSweet Alert iOSです。
ライブラリには迅速なファイルがあります。このファイルをプロジェクトのメイン フォルダー内の src ディレクトリ内に配置しました (src フォルダー内にある必要がありますか? プロジェクトで他のフォルダーを使用できますか? サブディレクトリはどうですか?)。
チタンのドキュメントによると:
src ディレクトリにある *.swift ファイルはすべて自動的にコンパイルされます
私のアプリでは、次のようなことをすると:
できます。しかし、swift ファイル内のいずれかのクラスを要求しようとすると、アーキテクチャ x86_64 モジュールが見つからないというエラーが表示されます。
SweetAlert のソース コードを見ると、SweetAlert クラスはopen
他のクラスが単なる通常のクラスであることにも気付きます。
私は迅速な開発者ではないので、それが何を意味するのかよくわかりません。
ここで何が欠けていますか?
編集
いくつかの進歩...フレームワークとMyFrameworkの名前をappc.js
定義しているファイルが必要であることがわかりました。src
そして、require
私が行うことは、迅速なファイルのファイル名と一致する必要があります。コンパイルすると、迅速なコンパイルに関する興味深い出力が表示されますが、エラーが発生します。
編集2
Swift ファイル内のすべてのスクリプトをクリアし、次の失敗したスクリプトに絞り込みました。
import Foundation インポート UIKit インポート QuartzCore
を削除しfunc animate() { }
ても失敗しません。この関数がその 1 つの SweetAlert クラス内にある場合でも、失敗します。そして、私が読んだことから、これはかなり標準的な迅速なコードです。
これは私が疑問に思うことです.Hyperloop 2.0.0(!) は本番アプリの準備ができていますか?