サードパーティのオープン ソース ライブラリを使用するために、Hyperloop を使用しようとしています。使いたいライブラリはSweet Alert iOSです。
ライブラリには迅速なファイルがあります。このファイルをプロジェクトのメイン フォルダー内の src ディレクトリ内に配置しました (src フォルダー内にある必要がありますか? プロジェクトで他のフォルダーを使用できますか? サブディレクトリはどうですか?)。
チタンのドキュメントによると:
src ディレクトリにある *.swift ファイルはすべて自動的にコンパイルされます
私のアプリでは、次のようなことをすると:
var UIView = require('UIKit/UIView');
Ti.API.info('UIView => ' + UIView);
できます。しかし、swift ファイル内のいずれかのクラスを要求しようとすると、アーキテクチャ x86_64 モジュールが見つからないというエラーが表示されます。
var sweetAlert = require('SweetAlert');
var cancelAnimatedView = require('CancelAnimatedView');
SweetAlert のソース コードを見ると、SweetAlert クラスはopen
他のクラスが単なる通常のクラスであることにも気付きます。
open class SweetAlert
私は迅速な開発者ではないので、それが何を意味するのかよくわかりません。
ここで何が欠けていますか?
編集
いくつかの進歩...フレームワークとMyFrameworkの名前をappc.js
定義しているファイルが必要であることがわかりました。src
そして、require
私が行うことは、迅速なファイルのファイル名と一致する必要があります。コンパイルすると、迅速なコンパイルに関する興味深い出力が表示されますが、エラーが発生します。
[INFO] Generating metabase for swift MyFramework /Users/ophir/Documents/Appcelerator_Studio_Workspace/HyperloopTest1/src/SweetAlert.swift
2017-06-29T14:43:44.061Z | ERROR | An uncaught exception was thrown!
Cannot read property '1' of null
2017-06-29T14:43:44.064Z | ERROR | Cannot read property '1' of null
編集2
Swift ファイル内のすべてのスクリプトをクリアし、次の失敗したスクリプトに絞り込みました。
import Foundation インポート UIKit インポート QuartzCore
public enum AlertStyle {
case success,error,warning,none
case customImag(imageFile:String)
}
class SweetAlert: UIViewController {
}
class AnimatableView: UIView {
func animate(){
}
}
を削除しfunc animate() { }
ても失敗しません。この関数がその 1 つの SweetAlert クラス内にある場合でも、失敗します。そして、私が読んだことから、これはかなり標準的な迅速なコードです。
これは私が疑問に思うことです.Hyperloop 2.0.0(!) は本番アプリの準備ができていますか?