Post

Replies

Boosts

Views

Activity

Reply to Documents in SwiftUI app have wrong file extension on Mac
The fix is to make the last part of the custom document UTI match the file extension, com.MyCompany.swiftbook. With that change the following code saves with the correct extension on Mac: static var bookDocumentPackage: UTType { UTType(exportedAs: "com.MyCompany.swiftbook", conformingTo: .package) } static var writableContentTypes: [UTType] { [.bookDocumentPackage, .epub] }
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jan ’22
Reply to SwiftUI App has disabled keyboard shortcuts on MacOS.
The keyboard shortcuts appearing disabled is the standard look for menu items in recent versions of macOS. If you look at the menus in Xcode the keyboard shortcuts look disabled but they work. I can't reproduce what you're experiencing. The keyboard shortcuts work in my SwiftUI Mac app projects. I created a new SwiftUI Mac app project in Xcode 13.2, and pressing Cmd-M minimizes the window. What are you seeing isn't expected behavior. You shouldn't have to write any code to make the standard keyboard shortcuts work.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jan ’22
Reply to xcode 12.5.1 SpriteKit scene addchild fails reason already present
The exception is saying that you are trying to add a physics body that already exists. Does worldLayer have any physics bodies in it when you add the child to it? Do levelNode and mapNode have physics bodies? Did you add any physics bodies to anything in your .sks file? Do you have any code that creates physics bodies? If so, show the code as text, not as a screenshot. Code in a screenshot is hard to read. Can you add children without crashing if the SpriteKit nodes have no physics bodies?
Topic: Graphics & Games SubTopic: SpriteKit Tags:
Jan ’22
Reply to Mac OS Build Target
Projects and targets have separate deployment target settings. One of them probably has the deployment target set to macOS 11. Check the deployment target settings for both the Mac app target and the project and make sure they're both set to macOS 10.13.
Jan ’22
Reply to Help with SpritKit's Tile Set in SwiftUI. Looking for suggestions
The most up to date book on SpriteKit is the book Apple Game Frameworks and Technologies. It has a chapter on working with tile maps. pragprog.com/titles/tcswift/apple-game-frameworks-and-technologies/ A free book on SpriteKit is Ray Wenderlich's book 2D Apple Games by Tutorials. It has two chapters on tile maps. The book is older. The SpriteKit material is still relevant. The book uses an older version of Xcode so you can't blindly follow their instructions on recent Xcode versions. github.com/raywenderlich/deprecated-books Both of these books assume you have some experience in Swift. If you need to learn about Swift and iOS development, Hacking with Swift has a free 100 day course on SwiftUI. One of the projects you build in the course is a SpriteKit game, but I don't think it uses tile maps.
Topic: Graphics & Games SubTopic: SpriteKit Tags:
Jan ’22
Reply to Is there any way to prevent a folder (Group) from building/executing?
What you need is a folder reference for your temporary files instead of a group. With a folder reference the files in the folder get copied into the app bundle when building the project. With a group Xcode tries to compile the files, which isn't going to work well with .txt files. I don't see any way in Xcode to convert a group to a folder reference in the project navigator on the left side of the project window. Maybe someone else knows a way to do this and will answer, but there are a couple of things you can do to fix your issue. One thing you can do is add a folder reference to your project. Create a folder for the temporary files in the Finder. Copy your files into that folder. In Xcode choose File > Add Files to ProjectName. Select the folder you created in the Open panel. In the sheet there is an Added folders section. Choose Create folder references. Click the Add button to finish adding the folder. After adding the folder reference you can delete the group from the left side of the project window. An alternative thing to do is to add the group's files to the app target's Copy Bundle Resources build phase and remove it from the Compile Sources build phase. Select the project file from the left side of the project window to open the project editor. Select your app target from the list of targets on the left side of the project editor. Click the Build Phases button at the top of the project editor. Click the Add button at the bottom the Copy Bundle Resources build phase to add a file to the build phase. Select the files in your group from the sheet and click the Add button. If any of your txt files are in the Compile Sources section, select them and click the Remove (minus) button to remove them from that build phase.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Dec ’21
Reply to How to provide a rich text WYSIWYG to user?
The SwiftUI TextEditor view does not currently support rich text. You will have to wrap either UITextView (iOS) or NSTextView (Mac) using the UIViewRepresentable or NSViewRepresentable protocols. Search for UIViewRepresentable in a search engine to find articles on how to do this. You may also find the following article helpful even though it doesn't deal specifically with rich text: swiftdevjournal.com/using-text-views-in-a-swiftui-app/
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Dec ’21
Reply to Drag and Drop Activity
Go to a search engine and search for SpriteKit drag. You will find several articles on dragging and dropping SpriteKit sprites. The articles assume you know some Swift. If you find the material in those articles too difficult, I recommend going through the free 100 day course at Hacking with Swift. One of the projects in the course is a SpriteKit game. After going through the course, you will know enough to follow the articles on drag and drop with SpriteKit.
Topic: Graphics & Games SubTopic: SpriteKit Tags:
Dec ’21
Reply to Best way to integrate different developemnt directions/branches of one project
Place your project under version control. In Xcode choose Source Control > New Git Repositories to place your project under version control. Press Cmd-2 to access Xcode's source control navigator. From the source control navigator you can create branches for your project. If you need a more detailed explanation on Xcode's version control features, take a look at the book at the following page: swiftdevjournal.com/version-control-book/ There are also alternatives to using Xcode for working with git. The following page has a list of git GUI clients: git-scm.com/downloads/guis
Nov ’21