Swift 我如何传递应用内购买数据以观看?
我的Apple Watch应用程序有一部分位于付费墙后面,但我无法从WCSessionSwift 我如何传递应用内购买数据以观看?,swift,in-app-purchase,watchconnectivity,wcsession,Swift,In App Purchase,Watchconnectivity,Wcsession,我的Apple Watch应用程序有一部分位于付费墙后面,但我无法从WCSessiontransferUserInfo会话中提取信息 此外,由于手表上没有可用的NSUserDefault,我如何将这些数据存储在手表应用程序上 这是我的代码,它确实打开了会话,但没有正确地传递数据: 视图控制器 //This creates the dictionary that will be passed to the Watch var WatchInAppPurchases = ["product
transferUserInfo
会话中提取信息
此外,由于手表上没有可用的NSUserDefault,我如何将这些数据存储在手表应用程序上
这是我的代码,它确实打开了会话,但没有正确地传递数据:
视图控制器
//This creates the dictionary that will be passed to the Watch
var WatchInAppPurchases = ["product1":Bool(), "product2":Bool(),]
func dictionaryCreator() {
if (UserDefaults.standard.value(forKey: "product1purchased") != nil) == true {
WatchInAppPurchases["product1"] = true
} else {
WatchInAppPurchases["product1"] = false
}
if (UserDefaults.standard.value(forKey: "product2purchased") != nil) == true {
WatchInAppPurchases["product2"] = true
} else {
WatchInAppPurchases["product2"] = false
}
}
//This runs both with the .purchased and .restored function.
func syncronizeWatch() {
if WCSession.isSupported() {
let session = WCSession.default
session.delegate = self
session.activate()
session.transferUserInfo(WatchInAppPurchases)
}
}
接口控制器:
func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?) {
NSLog("%@", "activationDidCompleteWith activationState:\(activationState) error:\(String(describing: error))")
}
var userinfo0 : Bool?
var userinfo1 : Bool?
func session(_ session: WCSession, didReceiveUserInfo userInfo: [String : Any] = [:]) {
let userinfodic = userInfo
userinfo0 = userinfodic["product"]!
userinfo1 = userinfodic["product2"]!
}
运行此操作后,如何支持我正确存储此数据?
if userInfo0 {
//show paid content?
}