2016-02-01 8 views
0

Итак, я сделал очень простое приложение iOS в SWiFT для экспериментов, которое отображает строку одним нажатием кнопки, которую я успешно реализовал и протестировал версию watchOS, и она отлично работает на моих устройствах. Я хочу добавить haptic. Нажмите на кнопку в приложении часов. Теперь я сделал некоторые исследования, и это говорит в истории статье «это легко назвать его просто так»Swift WatchOS 2.0 Проблемы с реализацией Haptics

я начал по Импорт WatchKit, как указано в сообщениях, таких как Where to find Taptic feedback API documentation or capabilities for watchOS 2?

import UIKit 
import WatchKit 


class ViewController: UIViewController { 

    @IBOutlet weak var Button1: UIButton! 

    @IBOutlet weak var LabelView: UILabel! 


    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


    @IBAction func ButtonPressed(sender: UIButton) { 

// Directly Call the function in the Action  
WKInterfaceDevice.currentDevice().playHaptic(.Click) 

    var myString = “Hello, World!” 

     LabelView.text = “\(myString)” 

    } 
} 

Если это так (который, я предполагаю, это не так), то что-то не так с моей машиной, или, что еще более вероятно, мой код ошибочен и, что более важно, я не понял эту тему.

Когда я пытаюсь построить в приведенном выше примере это терпит неудачу на линии Haptics с ошибкой:

"playHaptic" is unavailable. 

Это кричащее включает вопросы, но у меня есть

Import WatchKit 

Так я думал, что хорошо и я заставляю параметр .Click, чтобы он выглядел нормально, но я делал это только неделю, поэтому, пожалуйста, простите мне недостаток знаний.

ЛЮБОЕ И ВСЕ КОММЕНТАРИИ И ПОМОЩЬ ОЖИДАЮТСЯ КАКОЙ-ЛИБО!

Я с нетерпением ожидаю услышать от вас все :)

EDIT:

IV также просто читать и эксперименты на примере HERE но когда я пытаюсь и перепрофилировать его в мое приложение его не происходит.

Я получаю те же ошибки, что и библиотеки, недоступны.

Мне нужно импортировать с помощью метода моста вместо прямого в моем быстром файле?

+0

Кто-то только что сказал, что если я изменю свои фреймворки с iOS на WatchOs, тогда мне может быть повезло больше, у меня очень мало опыта, но я попытался преобразовать его, но мне нужно было изменить способ обновления метки, поскольку LableView.text не в watchKit Могу ли я установить его в 'LabelView.setText (" \ (myString) ")' ??хотя теперь только использование WK-фреймворков изменило все мои 'IBactions' с' UIButton' на 'WKInterfaceButton' и все мои ярлыки от' UILabel' до 'WKInterfaceLabel', поскольку все, что мне нужно, это установить строку очень просто, но i все равно получайте ошибку каждый раз, когда она достигает тактильного вызова. – MiRAGE

+0

Если вы посмотрите на второй пример, который вы связали, контроллер taptic-интерфейса работает на часах, а не на телефоне. Телефон не вибрирует. Вы говорите, что делаете приложение для часов, но вы отправляете код для телефонного приложения. –

ответ

0

Вы получаете здесь watchOS и iOS. На устройстве iOS нет метода playHaptic.

В то время как WKInterfaceDevice доступен на iOS, its iOS methods отличается от its watchOS methods.

Метод playHaptic будет работать нормально в расширении часов, но не в контроллере представления iOS.

Если вы пытаетесь активировать taptic-обратную связь на своих часах, когда вы нажимаете кнопку на телефоне, вам нужно посмотреть на Watch Connectivity.

+0

Если я непосредственно поменяю 'UILabel' и' UIButton' на 'WKInterfaceLabel' и' WKInterfaceButton', я больше не могу получить доступ к переменной .WKInterfaceLabel. Поэтому я не могу обновить строку после нажатия. также im, все еще получая флаг на линии 'playHaptic' – MiRAGE