我下载了xCode 8.0 beta
并打开了一个用swift 2
编写的最近项目,然后我使用xCode将其转换为swift 3
。
然后我使用设置"游戏"
为我的项目添加了watchOS
目标
档案>新>目标:
我检查了WatchExtension
中的GameScene.swift,确定所有代码都在那里并设置场景:
import SpriteKit
class GameScene: SKScene {
private var spinnyNode : SKShapeNode?
override func sceneDidLoad() {
if let label = self.childNode(withName: "//helloLabel") as? SKLabelNode {
label.alpha = 0.0
label.run(SKAction.fadeIn(withDuration: 2.0))
}
let w = (self.size.width + self.size.height) * 0.05
let spinnyNode = SKShapeNode(rectOf: CGSize(width: w, height: w), cornerRadius: w * 0.3)
spinnyNode.position = CGPoint(x: 0.0, y: 0.0)
spinnyNode.strokeColor = UIColor.red()
spinnyNode.lineWidth = 8.0
spinnyNode.run(SKAction.sequence([SKAction.wait(forDuration: 0.5),
SKAction.fadeOut(withDuration: 0.5),
SKAction.removeFromParent()]))
spinnyNode.run(SKAction.repeatForever(SKAction.rotate(byAngle: 6.28, duration: 1)))
self.run(SKAction.repeatForever(SKAction.sequence([SKAction.wait(forDuration: 2.0),
SKAction.run({
let n = spinnyNode.copy() as! SKShapeNode
self.addChild(n)
})])))
}
override func update(_ currentTime: TimeInterval) {
// Called before each frame is rendered
}
}
不幸的是,我似乎无法在Apple Watch Simulator上安装它。
我已经尝试了我能想到的一切,包括:
Add Additional Simulators
,我无法安装或出现在Apple Watch上。我不做什么?
更新
我已经将iOS应用的部署目标调整为10.0,我终于可以从iPhone模拟器中的Apple Watch应用程序安装它,除非从Apple Watch Simulator启动Apple Watch应用程序,我得到以下内容错误:
dyld: Library not loaded: @rpath/libswiftSwiftOnoneSupport.dylib
Referenced from: /Users/MYNAME/Library/Developer/CoreSimulator/Devices/XXXXXX-XXXX-XXXX-XXXX/data/Containers/Bundle/Application/XXXXXX-XXXX-XXXX-XXXX/MYAPPNAME.app/PlugIns/MYAPPWATCH Extension.appex/MYAPPWATCH Extension
Reason: image not found
(lldb)
这个错误是什么意思?不应该加载任何图像,因为它是默认的SpriteKit测试...
答案 0 :(得分:3)
可能不是真正的解决方案,但是在我尝试了各种各样的事情后找到了一个解决方法here, on Stackoverflow,因为错误发生在我上面的问题的底部。
因此,如果您将应用程序转换为Swift 3.0,请添加watchOS"游戏"定位到您的项目,将iOS部署目标更改为10.0并在WatchOS 3.0模拟器和iPhone 6s iOS 10模拟器上运行,更新以下设置:
将NO更改为YES:
Project > Targets > App Name > Embed Asset Packs In Product Bundle = YES
和#34;你好,世界!"应该出现在Apple Watch上,带有旋转的脉冲spriteNode(屏幕截图中没有显示,因为它没有足够快地捕获它)。
请注意,您可能必须通过启动Apple Watch应用程序,从iPhone模拟器安装Apple Watch App,点击您的应用程序,然后在Apple Watch"上显示"显示。