2016-06-14 5 views
4

J'ai téléchargé xCode 8.0 beta et a ouvert un projet récent écrit en swift 2 que je puis converti en swift 3 en utilisant Xcode.Courir Jeu SpriteKit en watchos sur Apple Voir Simulator (Xcode 8, Swift 3, iOS 10) - libswiftSwiftOnoneSupport Erreur

J'ai ensuite ajouté une cible watchOS à mon projet avec le réglage « jeu »

Fichier> Nouveau> Cible:

screenshot

J'ai vérifié le GameScene.swift dans le WatchExtension et bien sûr tout le code est là et met en place une scène:

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 
     } 
    } 

Malheureusement, je ne peux pas sembler obtenir ceci pour installer sur le simulateur d'Apple Watch.

J'ai tout essayé je peux penser, y compris:

  • Clean construit, etc
  • Désinstaller/réinstaller,
  • Vérifié info.plist for common errors,
  • créé un nouveau simulateur avec jumelé Apple Suivre en utilisant Add Additional Simulators,
  • Ajouté Sauter Installer = Non, suggéré here,
  • Installer à partir d'iOS d'Apple Paired Regarder App iPhone dans Simulator (juste ne pas installer),
  • paramètres du projet définis par l'utilisateur même ajouté, comme l'a suggéré dans un tutoriel raywenderlich watchos ...

Je ne peux pas le faire même installer ou apparaître sur l'Apple Watch. que ne fais-je pas?

MISE À JOUR

J'ai réglé la cible de déploiement à 10,0 pour l'application iOS et j'ai enfin pu l'installer à partir de l'application d'Apple montre dans le simulateur iPhone, sauf lors du lancement de l'Apple Regarder App de la Apple Watch Simulator, j'obtiens l'erreur suivante:

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) 

Qu'est-ce que cette erreur signifie? Il ne devrait pas y avoir d'images à charger car c'est le test SpriteKit par défaut ...

Répondre

3

Probablement pas la vraie solution, mais un travail autour de ce que j'ai trouvé après des heures d'essayer diverses choses a été trouvé here, on Stackoverflow, pour l'erreur se produisant à le fond de ma question ci-dessus. Donc, si vous convertissez votre application en Swift 3.0, ajoutez une cible "jeu" watchOS à votre projet, changez la cible de déploiement iOS en 10.0 et exécutez WatchOS 3.0 Simulator et iPhone 6s iOS 10 Simulator, mettez à jour le paramètre suivant:

changement NON à OUI:

Project > Targets > App Name > Embed Asset Packs In Product Bundle = YES 

Et « Bonjour, monde!"Devrait apparaître sur la montre Apple, avec une filature, pulsant spriteNode (non représenté sur la capture d'écran comme n'a pas saisi assez rapide).

Apple Watch

S'il vous plaît noter que vous devrez peut-être installer l'application de la App Apple Watch de l'iPhone Simulator en lançant l'appli Apple Watch, en cliquant sur votre application et en appuyant sur "show on Apple Watch"

+0

Je reçois l'erreur d'image dyld sur mon application d'extension iMessage mais "embarque les packs d'actifs dans le produit" bundle "ne l'a pas fixé. –