Post

Replies

Boosts

Views

Activity

SCNNode into SKScene is deformed when hit an object
Into a SKScene, I add a SCNSphere as a child of SKShapeNode, as depicted below. When the sphere hit another node (the fence in the example) the sphere is deformed as it were elastic. I didn't found any information about elastic properties. Someone know a way to avoid the deformation? import SwiftUI import SpriteKit import SceneKit @main struct MyApp: App { var body: some Scene { WindowGroup {SpriteView(scene: GameSceneSK(size: UIScreen.main.bounds.size))} } } class GameSceneSK: SKScene { override func sceneDidLoad() { var fencePoints = [ CGPoint(x: 300, y: 0), CGPoint(x: 300, y: 400), CGPoint(x: 0, y: 400) ] let fence = SKShapeNode(points: &fencePoints, count: fencePoints.count) fence.physicsBody = SKPhysicsBody(edgeChainFrom: fence.path!) addChild(fence) let sphereGeometry = SCNSphere(radius: 20) let sphereNode = SCNNode(geometry: sphereGeometry) let sphereScnScene = SCNScene() sphereScnScene.rootNode.addChildNode(sphereNode) let ball3D = SK3DNode(viewportSize: CGSize(width: 40, height: 40)) ball3D.scnScene = sphereScnScene let ball = SKShapeNode(circleOfRadius: 20) ball.physicsBody = SKPhysicsBody(circleOfRadius: 20) ball.addChild(ball3D) physicsWorld.gravity = CGVector(dx: 0.2, dy: 0.2) addChild(ball) } }
2
0
148
5d
Manage European Union digital services act compliance information
On App Store there is the new request to declared if I am a trader operator or not under the new EU law. As many I'm a single developer so the declaration can be reduced to "any natural person [...] who is acting [...] for purposes relating to his or her trade, business, craft or profession.", to learn more Apple links to EU commission. I'm not 100% sure if, a single developer whit very small business and which use only Apple Store to distribute its apps, can declared "This is the account of a supplier who is not a trader". Is someone more legal expert than me able to replay?
7
4
3.5k
Mar ’24
toolbarBackground on macOS full screen
This sample code colorise the navigation bar, but while the window is in fullscreen or in splitView on the Mac, only the left sidebar is colorised. How can be the full navigation bar be colorised also on full screen? var body: some Scene { WindowGroup { NavigationSplitView { ForEach(1..<3) { (i) in Text("\(i)") } } detail: { ForEach(1..<3) { (i) in Text("\(i)") } } .toolbarBackground(.yellow) } }
1
1
434
Apr ’23
Launch screen images is unpleasant
I agree with Apple Human Interface Guidelines that states "Design a launch screen that’s nearly identical to the first screen of your app", but: A SwiftUI App for both macOS and iOS cannot have a storyboard Launch Screen Images can be scaled only at: 2x/3x, Compact/Regular, iPhone/iPad Launch Screen can have central, top (Navigation bar) and bottom (Tab Bar and Toolbar) images Launch screen images are centered in the screen space Launch screen images are stretched to fill the screen space With the rules above, I'm unable to create launch screens for every screen size. If the image in the asset is sized for a small screen, i.e. an iPhone SE, it will be distorted in a 'long' screen, i.e. an iPhone 14, and viceversa. Have I missed some possibility to better define how to define or manage the launch screen images?
0
0
751
Jan ’23
stringsdict doesn't works
The sample code: struct ContentView: View { var count: Int = 0     var body: some View {         VStack { Text("Order \(count) Tickets")         }     } } Apparently don't use the Localizable.stringsdict <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Order %d Tickets</key> <dict> <key>NSStringLocalizedFormatKey</key> <string>%#@Tickets@</string> <key>Tickets</key> <dict> <key>NSStringFormatSpecTypeKey</key> <string>NSStringPluralRuleType</string> <key>NSStringFormatValueTypeKey</key> <string>d</string> <key>zero</key> <string>zero</string> <key>one</key> <string>one</string> <key>other</key> <string>other</string> </dict> </dict> </dict> </plist> What what am I doing wrong?
3
0
807
Dec ’22
distribution certificate not working
The Apple Distribution certificate is present in the login Keychain, as well as the Development one. In Xcode preferences both are visibile and valid. In Xcode target only the development certificate is present and I'm unable to set the distribution one. For this reason my last app has been refused on the Apple Store Connect. How can I set the distribution certificate on the App target?
0
0
484
Aug ’22
How to put help book in Xcode project?
I added in the Xcode project: <my App>/ Resources/ <my App>.help/ Content/ Info.plist Resources/ search.helpindex /*localized */ index.html /*localized */ Page1.html /*localized */ And, in the Project's Info.plist: <key>CFBundleHelpBookFolder</key> <string><my App>.help</string> <key>CFBundleHelpBookName</key> <string><project' bundle id>.help</string> But when I archive it, the book help has been moved: <my App>/ Content/ Resources/ Info.plist en.lproj/ search.helpindex index.html Page1.htm So the help book, as is, is missing. If I manually move the files and folders in the Package to reconstruct the help book structure, it works. What I have to do in Xcode to let it archive the Help book?
1
0
819
Jun ’22
bottomBar causes un-satisfied constraints
On Xcode 13.3 and iOS15.4 I don't found a way to add something in the bottom bar without Xcode warning. This sample of swiftUI code: { var body: some View { Text("Hello, World!") .toolbar { ToolbarItem(placement: .bottomBar) { Text("Bottom Bar") } } } } causes: "Unable to simultaneously satisfy constraints." (a long list follows). Am I missing something?
2
0
882
Mar ’22
Substitution for UIPickerView with "Optimised Interface for Mac"
I have a storyboard based project with UIPickerView and I like to port it on the Mac with "Optimised Interface for Mac". My idea was to: In the storyboard disable installation of the UIPickerView for idiom=Mac variation. In the code substitute UIPickerView with SwiftUI Picker. What I obtained is the error: "UIPickerView is not supported when running Catalyst apps in the Mac idiom". This error is caused by the SwiftUI Picker (it is present even if remove UIPickerView and all its references). If both the UIPickerView and the SwiftUI Picker cannot be used in a storyboard based project, how can a generic Picker behaviour be obtained in a storyboard based project compatible with Mac idiom?
1
0
1.6k
May ’21
speechSynthesizer delayed by UILongPressGestureRecognizer
I'd have a speech at a begin of a long pressure: class Cell: UITableViewCell { override func awakeFromNib() { ... let willSpeech = UILongPressGestureRecognizer(target: self, action: #selector(longPress(gesture:))) button.addGestureRecognizer(willSpeech) } @objc func longPress(gesture: UILongPressGestureRecognizer) { switch gesture.state { case .began: let utterance = AVSpeechUtterance(string: "hello") let speechSynthesizer = AVSpeechSynthesizer() speechSynthesizer.speak(utterance) ... } } } But the speech start only when the button is released. Is there a way to let the speech start immediately even during a long pressure gesture recogniser?
0
0
597
Mar ’21
Lost space with DoubleColumnNavigationViewStyle in DocumentGroup
DoubleColumnNavigationViewStyle, on iPad, left an unusable space at the top. It seems to be a navigation bar's title, but the navigation bar code apply to the main navigation bar. Is there a way to hide, or at least use, the inner navigation bar? The sample code below reveals part of the screen unused by the App. import UniformTypeIdentifiers @main struct RugbyTimeApp: App { @SceneBuilder var body: some Scene { DocumentGroup( newDocument: {() -> ReferenceDocument in ReferenceDocument()}, editor: {_ -> MainView in MainView()} ) } } struct MainView: View { var body: some View { NavigationView { Text("Side View") .frame(maxWidth: .infinity, maxHeight: .infinity) .background(Color.green) Text("Hello world") .frame(maxWidth: .infinity, maxHeight: .infinity) .background(Color.red) } .navigationViewStyle(DoubleColumnNavigationViewStyle()) .navigationTitle("Nav Title") .toolbar { ToolbarItem(placement: .navigation, content: {Button("Next page", action: {})}) } } } class ReferenceDocument: ReferenceFileDocument { static var readableContentTypes = [UTType.plainText] init() {} required init(configuration: ReadConfiguration) throws {} func snapshot(contentType: UTType) throws -> Int {return 0} func fileWrapper(snapshot: Int, configuration: WriteConfiguration) throws -> FileWrapper { let data: Data = try JSONEncoder().encode(snapshot) return FileWrapper(regularFileWithContents: data) } }
0
0
504
Jan ’21
iPad document app into Mac app
Since Xcode 11 setting iPad and Mac in General / Deployment Info fo a target enable it to run in iPad as well as in iMac. When I try to run on the iMac a document app, even the very simple one created by the Xcode on its template, it fails with the error: If the app is a document app running it in a Mac fails with the error: [OpenSavePanels] ERROR: Unable to display open panel: your app is missing the User Selected File Read app sandbox entitlement. Please ensure that your app's target capabilities include the proper entitlements. What have to be added in the project to let a document app running on iPad as well as on iMac?
2
2
1.7k
Sep ’20