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)
}
}
Post
Replies
Boosts
Views
Activity
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?
This simple text:
Text("10'20\"")
when the localisation is a RightToLeft, like Arabic
on iMac show "20'10
on iOS show 10'20"
Which is the correct one?
Why the are different?
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)
}
}
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?
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?
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?
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?
On MacOS popups have opacity < 1.
in Dark Mode, text on popup over a clear background isn't visible clearly.
How to change the opacity of the popup?
Studing SwiftUI in Apple's HandlingUserInput, I'm blocked in this error:No ObservableObject of type UserData found. A View.environmentObject(_:) for UserData may be missing as an ancestor of this view.The code is:final class UserData: ObservableObject {
@Published var showFavoritesOnly = false
@Published var landmarks = landmarkData
}struct LandmarkList: View {
@EnvironmentObject var userData: UserData
var body: some View {
NavigationView {
List(landmarkData) { landmark in
if !self.userData.showFavoritesOnly || landmark.isFavorite {
NavigationLink(destination: LandmarkDetail(landmark: landmark)) {
LandmarkRow(landmark: landmark)
}
}
}
.navigationBarTitle(Text("Landmarks"))
}
}
}
struct LandmarkList_Previews: PreviewProvider {
static var previews: some View {
LandmarkList()
.environmentObject(UserData())
}
}".environmentObject(UserData())" is present in the preview."@EnvironmentObject var userData: UserData" in the View.But the use of userData (if !self.userData.showFavoritesOnly) cause the fatal error.Can someone help me in undertanding how to proceed?
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?
After uploading a new App to the App Store Connect i receive an e-mail stating:ITMS-90034: Missing or invalid signature - The bundle '...' at bundle path 'Payload/...' is not signed using an Apple submission certificate.The App don't use any capability.I've used Xcode to upload, as in a previous App which now is on the App Store.All the apps use the default configuration: "Automatically manage signing", Provisioning profile "Xcode Managed Profile", Signing Certificate Apple Development: ############The requested Signing Certificate is present in the keychain in 3 versions, the last one is valid (the older 2 are revoked).What I should correct?
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?
In App Store Connect Trends tab the Sales graph show one sale happened the last day of the period; all other graphs (App Units, Top Apps, Territories) have don't have the corresponding app.
In iOS 12 and 13, up to 13.4, few lines of codes:navigationController?.navigationBar.isTranslucent = falsenavigationController?.navigationBar.barTintColor = .blacknavigationController?.navigationBar.tintColor = .redallow to hide the status bar under the navigation bar.With swiftUI is perhaps even simpler.statusBar(hidden: hideStatusBar)but it requires to rewrite the whole app from storyboard to swiftUI.Hiding the status bar, or go to full screen, is still be possible without using swiftUI on legacy code?