Hyperloop неизвестного или неподдерживаемого типа (UIAlertController)
Я пробую Hyperloop. И я пытаюсь запустить собственный скрипт swift, который есть в моем проекте (как показано в примере).
Вот мой быстрый код:
import UIKit
public class MySwiftCode : NSObject {
func SayHello() {
let alertController = UIAlertController(title: "iOScreator", message: "Hello, world!", preferredStyle: UIAlertControllerStyle.Alert)
alertController.addAction(UIAlertAction(title: "Dismiss", style: UIAlertActionStyle.Default,handler: nil))
}
}
при компиляции я получаю следующее сообщение об ошибке:
[INFO] Generating metabase for swift MyFramework /Users/ophir/Documents/Appcelerator_Studio_Workspace/HyperloopApp/src/MySwift.swift
Swift Generation failed with unknown or unsupported type (UIAlertController) found while compiling /Users/ophir/Documents/Appcelerator_Studio_Workspace/HyperloopApp/src/MySwift.swift
2016-01-26T16:40:22.195Z | ERROR | ti run exited with error code 1
UIAlertController
это часть UIKit
( https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIAlertController_class/) и, насколько я понимаю, нативный код, работающий с Hyperloop, не должен ждать, пока Appcelerator реализует его. Поэтому мне интересно, почему этот код не работает.
1 ответ
Прежде всего, убедитесь, что вы используете последнюю версию Hyperloop (по крайней мере, 1.2.6). Следующий пример кода работает для меня (проверено в хранилище hyperloop-examples):
импорт UIKit
public class MySwiftView : UIImageView {
convenience init () {
self.init(image: UIImage.init(named:"swift.png"))
}
func SayHello() {
let alertController = UIAlertController(title: "iOScreator", message: "Hello, world!", preferredStyle: UIAlertControllerStyle.Alert)
alertController.addAction(UIAlertAction(title: "Dismiss", style: UIAlertActionStyle.Default,handler: nil))
}
}
Также обязательно запустите приложение с iOS 8 и более поздними версиями. Поскольку это не-прокси API, вам нужно проверить его самостоятельно. Чтобы установить минимальную цель для iOS8, добавьте следующий ключ в <ios>
раздел вашего tiapp.xml:
<min-ios-ver>8.0</min-ios-ver>