2016-02-01 36 views
0

所以我在SWiFT上做了一個非常簡單的iOS應用程序,爲了實驗的目的,只需按一個按鈕就能顯示一個字符串我已經成功實現並測試了watchOS版本並且運行良好在我的設備上。我想要做的是添加觸覺。單擊手錶應用程序中的按鈕。現在,我做了一些研究,並在以往的文章「這很容易只是這樣稱呼它」Swift WatchOS 2.0觸覺實施問題

我開始導入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)」 

    } 
} 

說如果是這樣的話(說我猜測它不是),那麼我的機器出現了問題,或者我的代碼更可能是錯誤的,更重要的是我沒有理解這個主題。

當我嘗試建立失敗,在有錯誤的觸覺線上面的例子:

"playHaptic" is unavailable. 

這是尖叫包括問題,但我有

Import WatchKit 

所以我想我是好人我強制使用.Click參數,因此看起來不錯,但我一週只做了一次,所以請原諒我缺乏知識。

任何和所有的評論和幫助都非常欣賞一如既往!

我期待着您的迴音所有:)

編輯:

iv,也只是閱讀並例子HERE嘗試,但是當我嘗試和重用它在我的應用它沒有發生。

我得到像庫無法訪問相同的錯誤。

我需要導入橋接方法而不是直接在我的swift文件中?

+0

有人剛纔提到,如果我將我的框架從iOS更改爲WatchOs,那麼我可能會有更好的運氣,我沒有什麼經驗,但試過轉換它,但我需要更改標籤更新的方式,因爲LableView.text是不能在watchKit 我可以將它設置爲'LabelView.setText(「\(myString)」)'?儘管現在只使用WK框架,只是將所有'IBactions'從'UIButton'改爲'WKInterfaceButton',並將所有標籤從'UILabel'更改爲'WKInterfaceLabel',因爲我需要的只是將字符串設置爲非常簡單,但我每次到達觸覺呼叫時仍會收到錯誤 – MiRAGE

+0

如果您看到您鏈接的第二個示例,則表明接口控制器在手錶上運行,而不是在手機上運行。手機不會讓手錶振動。你說你正在製作一款手錶應用程序,但是你正在發佈手機應用程序的代碼。 –

回答

0

你得到watchOS和iOS混合在這裏。 iOS設備上沒有playHaptic方法。

雖然WKInterfaceDevice在iOS上可用,its iOS methodsits watchOS methods不同。

playHaptic方法可以在您的手錶擴展中正常工作,但不會在iOS視圖控制器中正常工作。

如果您嘗試在按手機上的按鈕時激活手錶的反饋反饋,則需要查看Watch Connectivity。

+0

如果我直接換出'UILabel'和'UIButton'作爲'WKInterfaceLabel'和'WKInterfaceButton'我不能再訪問'WKInterfaceLabel'的.text變量,所以我無法在按下後更新字符串。另外我還在'playHaptic'線上創造了一面旗幟 – MiRAGE