加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Apple Watch Simulator上的watchOS中运行SpriteKit游戏(xCode 8,

发布时间:2020-12-14 17:35:23 所属栏目:百科 来源:网络整理
导读:我下载了xCode 8.0 beta并打开了最近用 swift 2编写的项目,然后我使用xCode将其转换为swift 3. 然后我通过设置“游戏”为我的项目添加了一个watchOS目标 文件新目标: 我检查了WatchExtension中的GameScene.swift,确定所有代码都在那里并设置了一个场景: im
我下载了xCode 8.0 beta并打开了最近用 swift 2编写的项目,然后我使用xCode将其转换为swift 3.

然后我通过设置“游戏”为我的项目添加了一个watchOS目标

文件>新>目标:

screenshot

我检查了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上安装它.

我已经尝试了我能想到的一切,包括:

>清洁建筑等
>卸载/重新安装,
>查看了info.plist for common errors,
>使用Add Additional Simulators创建一个带有配对Apple Watch的新模拟器,
>已添加Skip Install =否,建议here,
>从iPhone模拟器中的配对iOS Apple Watch App安装(只是不安装),
>甚至添加了用户定义的项目设置,如raywenderlich watchOS教程中所建议的……

我甚至无法安装或出现在Apple Watch上.我不做什么?

UPDATE

我已经为iOS应用程序调整了部署目标到10.0,我终于能够从iPhone模拟器中的Apple Watch应用程序安装它,除了从Apple Watch Simulator启动Apple Watch App之外,我收到以下错误:

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测试…

解决方法

可能不是真正的解决方案,但是在我尝试各种各样的事情后发现的一个解决方法被发现 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

并且“你好,世界!”应该出现在Apple Watch上,带有旋转的脉冲spriteNode(屏幕截图中未显示,因为它没有足够快地捕获它).

Apple Watch

请注意,您可能必须通过启动Apple Watch App,点击您的应用程序,然后按“Apple Watch上的显示”,从iPhone模拟器安装Apple Watch App中的应用程序.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读