2014-09-04 3 views
18

Mit einem iOS-Spielplatz so einfach wie diese ein:Swift iOS Spielplatz: Fehler beim Senden der Stundung Requisiten

import UIKit 
import SpriteKit 
import XCPlayground 

let s = CGSize(width: 300, height: 300) 
let f = CGRect(origin: CGPointZero, size: s) 
let view = SKView(frame: f) 
let scene = SKScene(size: s) 
scene.backgroundColor = SKColor.redColor() 
view.presentScene(scene) 
XCPShowView("main view", view) 

Ich erhalte diese in der Konsole:

2014-09-04 17:02:13.358 SpriteKitBETA7[2009:20695] Error sending deferral props: 0x10000003 

Es gibt ein „Haupt View "Box in der Assistant Editor Sache, aber es zeigt nichts an. Dieser exakt gleiche Code (mit import Cocoa anstelle von import UIKit) funktioniert perfekt auf einem OSX-Spielplatz. Ich bin mir bewusst, ich kann nur Sachen in einem OSX Spielplatz (obwohl es auf einem iOS bequemer sein würde, da ich nicht Yosemite verwenden möchte, aber ich habe das iOS7 SDK) und kopieren-einfügen in mein Projekt, aber Ich wollte wissen, ob irgendjemand verstanden hat, was hier passiert.

+0

Bleibt das gleiche Problem bestehen, wenn Sie XCPShowView() kommentieren? In jedem Fall könntest du versuchen, Zeug schrittweise zu kommentieren, um zu sehen, welche Codezeile der Schuldige ist. Im Allgemeinen kann ich nichts offensichtlich falsches mit dem sehen, was du machst (kein SpriteKit-Experte) - also könnte es sich lohnen, einen Fehlerbericht mit Apple darüber einzureichen –

+0

Effektiv ist der Fehler weg, wenn ich den Kommentar mache XCPShowView-Aufruf. Leider ist das Debug-Display so. Vielleicht ist es jetzt an der Zeit, dass ich, da ich nicht einmal OSX-Spielplätze benutzen darf (mit dem neuesten Xcode, dem GM), einen Fehlerbericht einreichen muss. – figha

+0

Welche Version von OSX verwenden Sie? Einige der Spielplatzfunktionen sind nur in Yosemite verfügbar. Zum Beispiel konnte das Beispielprojekt Apfel, das von der Playgrounds-Demo von der WWDC-Keynote bereitgestellt wurde, nicht auf Außenseiter laufen. – cmyr

Antwort

0

Was haben Sie gesehen? Ich bin soweit, dass ich eine Szenenansicht mit einem farbigen Hintergrund sehen kann. Versuchen Sie dies:

Sie können es durch diff Farbe testen, und es gerendert es. Wenn ich jedoch eine Kugel zum Wurzelknoten hinzufüge, passiert nichts. Und ich sehe das auch in meiner Konsolenausgabe:

2014.09.13 16: 59: 35,766 SceneKitPlayground [23682: 13804922] Fehler beim Senden der Stundung Requisiten: 0x10000003

Außerdem, wenn ich das Ding auf OS X wechseln , der gleiche Code, der die Kugel hinzufügen wird funktionieren.

+0

Ich habe gerade festgestellt, dass Sie nicht SceneKit, sondern SpriteKit verwenden. Ich habe das nicht versucht. Es könnte schlimmer sein, wenn Sie nicht einmal bis zu einer Ansicht mit einer Hintergrundfarbe kommen. – kawingkelvin

+0

Das gleiche passiert mit SceneKit. OK, interessant. BTW, ich denke der Grund, warum Sie die Hintergrundfarbe ändern können, ist, dass Sie es zur Ansicht machen, nicht zur Szene, wie ich. Ich kann 'view.backgroundColor = SKColor.GreenColor() 'in meinem Code tun und es wird auch angezeigt. – figha

+0

Ich habe gerade gesehen, dass dieser Fehler wieder auf einem Spielplatz passiert ist, und diesmal habe ich nur einfache UIView-Sachen gemacht. Habe vergessen, was ich getan habe ... werde posten, wenn ich es finde. – kawingkelvin

0

Ich habe es geschafft, es zu öffnen, indem ich den Dateiinspektor öffne, die Einstellungen des Spielplatzes auf OSX ändere, dann zurück zu iOS und die Option 'Run in Full Simulator' anwähle. Dies ist in XCode 6.1.

19

Per den Xcode 6 Release Notes, werden Sie Run in Full Simulator im Datei-Inspektoren zu ermöglichen. Beachten Sie, dass dies langsam abläuft, da es durch den iOS Simulator läuft. Sie müssen eine Weile warten, bis der iOS Simulator startet, bevor Ihr XCPShowView beginnt, in der Timeline des Spielplatzes angezeigt zu werden.

  1. Im Xcode Menüleiste auf Ansicht>Dienstprogramme>Show File Inspector ( + +)
  2. Im Datei-Inspektor das Recht, unter Spielplatz Einstellungen, stellen Sie sicher, dass die Plattform auf eingestellt ist iOS
  3. Vergewissern Sie sich, Run in Full Simulator wird überprüft.

Wenn Sie die Maus über den Run in Full Simulator Option es erklärt, dass Sie dies mit Blick verwenden sollten, die OpenGL animieren oder verwenden. Beides gilt für die Verwendung entweder SceneKit oder SpriteKit.

+0

Dies funktioniert nicht immer. Wenn Sie die Option "In vollem Simulator ausführen" aktivieren, flackert die Szene im Simulator. Und als zusätzlichen "Bonus", wenn Sie eine Spielplatzszene mit der Größe eines Ipads testen, weigert sich der Simulator hartnäckig, die Größe zu erkennen und im IPad-Modus zu laufen. Auch wenn Sie von Hardware, iPad wählen, dann zurück zum Code gehen, etwas ändern und speichern, wird es im Iphone-Modus neu gestartet. – lorddarq

+0

@lorddarq Sie sollten Ihre Ergebnisse nicht in der iOS Simulator App überprüfen. Deshalb wird es im Hintergrund gestartet. Sie sollten Ihre Ergebnisse in der Timeline-Ansicht des Playgrounds überprüfen. Der Simulatorbildschirm flackert, da der Puffer skaliert und erfasst wird, um in der Zeitachsenansicht angezeigt zu werden. Auch das erfasst den gesamten Puffer, nicht nur den Bildschirm. Also spielt die Bildschirmgröße des iPads gegenüber dem iPhone keine Rolle. –

+0

Ich verstehe, aber das scheint ein Hack zu sein, als alles andere. Kann Apple nicht Apple sein und nur etwas richtig entwickeln? – lorddarq

Verwandte Themen