J'écris actuellement une application liée à Bitcoin dans Swift. Comme il n'y a pas de bibliothèques natives pour BIP32/39 disponibles, j'ai décidé d'aller avec celles de JavaScript en utilisant JavaScriptCore.JavaScriptCore ne fonctionne pas autre chose que 'bonjour, monde'
Le problème est, presque tout les sorties undefined
à Swift, par exemple:
var pip_buffer = new Uint8Array(strength/8);
Celui-ci fonctionne:
var pip_buffer = "Hello, world"
Voici mon code Swift:
var context: JSContext?
private func initJS() {
context = JSContext()
if let jsSrcPath = Bundle.main.path(forResource: "script", ofType: "js") {
do {
let jsSrcContents = try String(contentsOfFile: jsSrcPath)
_ = context?.evaluateScript(jsSrcContents)
} catch let error {
print(error.localizedDescription)
}
}
}
private func getJSVar(name: String) {
if let vb = context?.objectForKeyedSubscript(name) {
print("\(vb)")
}
}
override func viewDidLoad() {
super.viewDidLoad()
initJS()
getJSVar(name: "pip_buffer")
}
Comment faire cette chose fonctionne?