Hi,
I have created a line graph using LineMark in Charts, which by default includes grid lines and axes lines. My requirement is to remove the grid lines but retain the axes lines and the values.
I have tried the following code:
.chartXAxis {
AxisMarks(preset: .extended, values: .stride(by: 2), stroke: StrokeStyle(lineWidth: 0))
}
This is removing grid lines as well as axes lines.
How to retain axes lines while removing grid lines ?
Create elegant and intuitive apps that integrate seamlessly with Apple platforms.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi, Since last week, I’ve been trying to publish the new version of my Voxel game, which aims to fix many bugs and significantly optimize the game. This update is very important for improving the overall quality of the game.
Unfortunately, this version is not being accepted on the App Store due to a Design - Copycats issue related to guideline 4.1. I’ve tried everything to resolve the problem by changing the screenshots, app preview, description, game name, icons, and even all metadata that could cause issues in the build. But nothing seems to work.
I keep receiving the same rejection just a few minutes after submitting my build for review.
Here is the full warning message:
—————— “Guideline 4.1 - Design - Copycats
This app or its metadata appears to be misrepresenting itself as another popular app or game already available on the App Store, from a developer's website or distribution source, or from a third-party platform.
Apps should be unique and should not attempt to deceive users into thinking they are downloading something they are not.”
Next Steps
Learn more about requirements to prevent apps from impersonating other apps or services in guideline 4.1.
Revise the app to comply with these requirements.
Once the app is fully compliant, resubmit the app for review.
——————
Also I've already tried contaction the Apple Developer team but I got no answer. I don't know what to do.
Thanks
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Tags:
Design
App Review
App Store Connect
How to create a beautiful fire animation using Swift?
Which API is better to use?
Hi,
I am trying to use a flag image inside a picker like this:
Picker("Title: ", selection: $selection){
ForEach(datas, id: \.self){ data in
HStack{
Text(data.name)
if condition {
Image(systemName: "globe")
}else {
Image(img)
}
}
.tag(data.name)
.padding()
}
}
All images are loading successfully but only system images are resized correctly.
Images loaded from Assets are appearing in their default size.
I have tried to size the images with frames, etc but with no luck.
Any idea, help will be much appreciated.
Thanks in advance!
Dear App Review team,
My app Goodie AI (Apple ID 6741483227) has been flagged as violating Guideline 4.3(a) - Design - Spam.
I thought I would reach out to the team to explain that Goodie AI is an entirely original concept, and would seek guidance on if we misunderstood what specifically the problem with the submission is.
DESCRIPTION
Please suggest next steps? We've already appealed, and have resubmitted the app. Thanks!
SCREENSHOTS ATTACHED
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Tags:
Design
App Store
iOS
App Review
How can I put one list item at the top and another one at the bottom, retaining the NavigationView functionality?
Here is a simple app:
struct ContentView: View {
var body: some View {
NavigationView {
Sidebar()
}
}
}
struct Sidebar: View {
@State private var isActive = true
var body: some View {
List {
NavigationLink(isActive: $isActive) {
HomeView()
} label: {
Text("Home")
}
NavigationLink {
SettingsView()
} label: {
Text("Settings")
}
}
}
}
struct HomeView: View {
var body: some View {
VStack {}
.navigationTitle("Home")
}
}
struct SettingsView: View {
var body: some View {
VStack {}
.navigationTitle("Settings")
}
}
Which looks like this:
My initial though was to put a Spacer() between each NavigationLink, but it results in an unexpected view:
What i can do:
Place an empty VStack between each NavigationLink with a hard-coded height like this:
VStack {}.frame(height: 275)
Which looks like this:
But it wouldn't work if a user would want to increase the height of a window.
I could disable window resizing which is kind of fine, but not the most optimal.
Another obvious option was to replace the List with a VStack, but with this approach the styling of the NavigationLink gets broken and it does not get highlighted when I click on it.
It looks like this:
P.S. I know that NavigationView is deprecated, but i want to support macOS 12.0.
Hello fellow developers and Apple employees
As I'm sure we're all tired of seeing, my app has been rejected under 4.3.0 Design: Spam
I am frankly struggling to understand the logic.
Here are the main features of my 2D Arcade game:
simulation of flying above a field of lava. This is a tense experience! One mess-up, and the player is sent to the lava below!
it has a jetpack which continuously uses fuel. Again, tension! You have to be careful about when and where you glide--can you grab that fuel pod? Oh no--it disappeared!
it allows players to glide and fly around the map. Gliding gives a brief respite from the tension. Flying lets the players explore the fascinating world of Hokusai's 40 views from Mount Fuji.
it allows players to collect fuel pods, refueling their jet pack. This reward not only allows them to play longer, it bumps their score, and promotes a goal of beating previous scores.
it allows players to view a parallax background of woodcuts from 40 views from Mount Fuji, a famous work by Hokusai, which broadens cultural boundaries
it requires players to dodge red clouds, which end the game. These clouds are nefarious--they follow the player around!
it allows players to rest on white clouds, which restores their fuel. Again, a relief from the tension.
the white clouds disappear after a moment, adding an element of tension--wouldn't it be nice if they lasted forever? Sure--but then the game would be boring and repetitive (and it WOULD be spam)
Architecture:
Godot using GDScript
I admit--I initially included reference material that was not mine to distribute. 100% my mistake, and I removed that prior to resubmitting.
Now though, my app continues to be rejected as spam--this most recent rejection occurred within 10 mins of the last submission.
I'd be happy to post my game online if someone would like to play. Yes, it's simple--and yes, it's arcade-esque.
Has anyone successfully reversed a 4.3.0 Design Spam designation on an app? I would rather not create a new app to submit, as I understand that is against the TOS--but is a commonly discussed workaround.
Is it because I'm using GDScript? Should I rewrite into c#?
I don't know that I can "fix" my game, as it's intended to be quite simple.
Summary:
At WWDC24, a new transition was introduced by the Apple Design team (.contentTransition(.symbolEffect(.replace)))
I was writing a post about it on my LinkedIn (https://www.linkedin.com/in/alex-fila/), and out of curiosity I tried multiple symbols with slashes. Many of them were not well center aligned during a new symbol effect. Some of the examples are: "speaker.fill" : "speaker.slash.fill”, "eye.fill" : "eye.slash.fill”. Please check the attached Swift file for more details and full SwiftUI View with issues.
Steps to Reproduce:
Create a new IOS App project in XCode.
Create a new SwiftUI File.
Initiate state variable: @State private var isSpeakerOn = true.
Create a new image with transition:
Image(systemName: isSpeakerOn ? "speaker.fill" : "speaker.slash.fill")
.contentTransition(.symbolEffect(.replace)).
5. Create a switcher or set a timer with a constant variable to toggle isSpeakerOn value (see attachment file).
6. Toggle isSpeakerOn value.
7. Observe the issue (2 symbols are not well center aligned during transition).
Expected Results:
During transition .contentTransition(.symbolEffect(.replace)) 2 SF symbols ("speaker.fill" : "speaker.slash.fill”) are well center aligned.
Actual Results:
During transition (when slash slowly appears on top of SF symbol), the main symbol is moved a few points up, creating a decentralized effect and making the user experience feel inconsistent.
Notes:
There are 200 SF Symbols with .slash that might be affected. It happens on latest Xcode and macOS versions, and could be a top priority for the Apple Design Team.
import SwiftUI
struct BUG: View {
@State private var isSpeakerOn = true
let timer = Timer.publish(every: 1.5, on: .main, in: .common).autoconnect()
let columns = [
GridItem(.flexible(), spacing: 20),
GridItem(.flexible(), spacing: 20)
]
var body: some View {
LazyVGrid(columns: columns, spacing: 60) {
Text("❌").font(.system(size: 100))
Image(systemName: isSpeakerOn ? "speaker.fill" : "speaker.slash.fill")
.font(.system(size: 200))
.frame(width: 200, height: 100, alignment: .center)
.contentTransition(.symbolEffect(.replace))
.symbolRenderingMode(.palette)
.foregroundStyle(
Color.primary,
Color.accentColor)
.onReceive(timer) { _ in
withAnimation(.spring(response: 0.3, dampingFraction: 0.7)) {isSpeakerOn.toggle()}}
Text("✅").font(.system(size: 100))
Image(systemName: isSpeakerOn ? "bell.fill" : "bell.slash.fill")
.font(.system(size: 170))
.frame(width: 150, height: 150, alignment: .center)
.contentTransition(.symbolEffect(.replace))
.symbolRenderingMode(.palette)
.foregroundStyle(
Color.primary,
Color.accentColor)
.onReceive(timer) { _ in
withAnimation(.spring(response: 0.3, dampingFraction: 0.7)) {isSpeakerOn.toggle()}}
Text("❌").font(.system(size: 100))
Image(systemName: isSpeakerOn ? "eye.fill" : "eye.slash.fill")
.font(.system(size: 150))
.frame(width: 200, height: 100, alignment: .center)
.contentTransition(.symbolEffect(.replace))
.symbolRenderingMode(.palette)
.foregroundStyle(
Color.primary,
Color.accentColor)
.onReceive(timer) { _ in
withAnimation(.spring(response: 0.3, dampingFraction: 0.7)) {isSpeakerOn.toggle()}}
}
.padding(40)
}}
#Preview { BUG() }
I am experiencing an issue when publishing my .NET MAUI application for iOS using Visual Studio Code. During the publishing process, I encountered a codesign error. Hope someone can help me. This is the error:
Warning: unable to build chain to self-signed root for signer "Apple Distribution: SOFTBUILDER SDN. BHD. (********)"
/Users/frankongthuanhong/Desktop/App/MLBusinessCafe_Maui/MLBusinessCafe_Maui/bin/Release/net8.0-ios/ios-arm64/MLBusinessCafe_Maui.app: errSecInternalComponent
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8316/tools/msbuild/iOS/Xamarin.Shared.targets(2335,3): error : /usr/bin/codesign exited with code 1: [/Users/frankongthuanhong/Desktop/App/MLBusinessCafe_Maui/MLBusinessCafe_Maui/MLBusinessCafe_Maui.csproj::TargetFramework=net8.0-ios]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8316/tools/msbuild/iOS/Xamarin.Shared.targets(2335,3): error : Warning: unable to build chain to self-signed root for signer "Apple Distribution: SOFTBUILDER SDN. BHD. (U44UY7DYY7)" [/Users/frankongthuanhong/Desktop/App/MLBusinessCafe_Maui/MLBusinessCafe_Maui/MLBusinessCafe_Maui.csproj::TargetFramework=net8.0-ios]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8316/tools/msbuild/iOS/Xamarin.Shared.targets(2335,3): error : /Users/frankongthuanhong/Desktop/App/MLBusinessCafe_Maui/MLBusinessCafe_Maui/bin/Release/net8.0-ios/ios-arm64/MLBusinessCafe_Maui.app: errSecInternalComponent [/Users/frankongthuanhong/Desktop/App/MLBusinessCafe_Maui/MLBusinessCafe_Maui/MLBusinessCafe_Maui.csproj::TargetFramework=net8.0-ios]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8316/tools/msbuild/iOS/Xamarin.Shared.targets(2335,3): error : Failed to codesign '/Users/frankongthuanhong/Desktop/App/MLBusinessCafe_Maui/MLBusinessCafe_Maui/bin/Release/net8.0-ios/ios-arm64/MLBusinessCafe_Maui.app': Warning: unable to build chain to self-signed root for signer "Apple Distribution: SOFTBUILDER SDN. BHD. (U44UY7DYY7)" [/Users/frankongthuanhong/Desktop/App/MLBusinessCafe_Maui/MLBusinessCafe_Maui/MLBusinessCafe_Maui.csproj::TargetFramework=net8.0-ios]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8316/tools/msbuild/iOS/Xamarin.Shared.targets(2335,3): error : /Users/frankongthuanhong/Desktop/App/MLBusinessCafe_Maui/MLBusinessCafe_Maui/bin/Release/net8.0-ios/ios-arm64/MLBusinessCafe_Maui.app: errSecInternalComponent [/Users/frankongthuanhong/Desktop/App/MLBusinessCafe_Maui/MLBusinessCafe_Maui/MLBusinessCafe_Maui.csproj::TargetFramework=net8.0-ios]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8316/tools/msbuild/iOS/Xamarin.Shared.targets(2335,3): error : [/Users/frankongthuanhong/Desktop/App/MLBusinessCafe_Maui/MLBusinessCafe_Maui/MLBusinessCafe_Maui.csproj::TargetFramework=net8.0-ios]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net8.0_18.0/18.0.8316/tools/msbuild/iOS/Xamarin.Shared.targets(2335,3): error : [/Users/frankongthuanhong/Desktop/App/MLBusinessCafe_Maui/MLBusinessCafe_Maui/MLBusinessCafe_Maui.csproj::TargetFramework=net8.0-ios]
Hello everyone, I updated a new version to fix bugs and add more levels, but Apple rejected it citing spam design 4.3(a). Everything in the game is created by my team, and we did not copy or imitate any other product. We discovered that a studio has unpacked our game and stolen all our images, sounds, and many other files, even the file names match ours. Our game was released over a month before theirs, while they just released their first version a week ago. Despite being the original version, our game was rejected for spam. Currently, our game is generating $10k daily in IAP and we are spending a lot on ads. We are in urgent need of updating the game. I’m really frustrated that this issue has not been resolved yet. I have submitted all the information and evidence to the Apple Review Board, but I haven’t received any response so far.
Hi, so, we grabbed a couple of nice new watches the other week (Ultra for dad, SE for teenage son). Mostly cool and working together (calls, messages, maps, walkie talkies, etc, etc). All good.
But then son said, "Dad, why can't I see my sleep stuff like you can..?". He was right, it wasn't working. Looking around a bit, it turns out that there are a bunch of things that are turned off or not available when pairing a kids watch with dad's phone.
From the Apple page: "The following features and apps are not available: Medications, respiratory rate, irregular heart rhythm notifications, ECG, AF History, Cycle Tracking, Sleep, Wrist Temperature, Blood Oxygen, Walking Steadiness, Audiobooks, Remote, News, Shortcuts and the double-tap gesture".
Now dev-me reacts to this situation with: "Ok, so let's just build a little standalone sleep app for son's watch. There must be lots of parents out there who would like the same thing". And there are also a bunch of other "family sharing" enabled apps that when you try and use them on kid's phone, say "iPhone requireed", i.e, they don't apparently work with just a watch hooked up to mum or dad's phone.
So before I dive into that kind of project, which seems like an obvious fix path from a dev and a parents' point of view: does anybody know if this from Apple's point of view is a hardware, a software or a legal/age limitation? What's the basic framework/dev/design issue here?
Is it something on the device(s) that prevents sleep data from even being collected on family/kids paired watches? (Therefore don't bother trying to build an app); I assume not becauses it's just a normal SE used by a kid; or
Is it "just" that Apple hasn't wanted to make that available without a kids iPhone too (Therefore you could certainly build a standalone app to do what Apple hasn't wanted to do); or
Netiher 1 nor 2, but Apple won't even allow Sleep data collection for kids for some legal/health data reason (Therefore don't bother trying to build the app).
Topic:
App & System Services
SubTopic:
General
Tags:
Design
Education and Kids
Watch Connectivity
Family Controls
Haptic or Sound queue to allow for the accessibility of the blind (sound) and deaf population (haptic) for even knowing when location services and the camera were last used?
Also, the grey notification rather than the purple notification for location services should appear for the full 24 hours after an application has used the app, if the correct description is within the "copy" of Settings
The green light lets them know that the application has changed to the camera and fade out orange light both could even have subtle simply click sounds, like a
shutter, big haptic, softer sound, but editable in Settings, of course
Hello.
Appstore is rejecting my app according to article 4.3.
But the app is not a copy, what should I do in this case?
It is useful to specify the details;
I had previously registered with my personal account and the Appstore stated that unfortunately VPN applications are not accepted with a personal account. Then they told me to register with a company account and make this application from the company account. (When I sent the application for review on my personal account, there were only a few incorrect items and the most important reason why it was not accepted was that it was a personal account).
Now we send the application for review with our company account, but as soon as it is put into in review mode, it is quickly rejected due to 4.3 spam.
The app is not a copy but completely custom created.
I don't know how to find a solution.
Can you please help with the issue?
How can I achieve the result of buttons glass effect like sample videos that was show at de WWDC25? I tried a lot of approaches and I still far a way from the video.
I would like something like the pictures attached. Could send a sample code the get the same result?
Thanks
Hello,
I'm developing with SwiftUI and have encountered some bug-like behavior that I haven't been able to resolve, so I'm seeking your assistance.
I'm building my view using TextEditor, ScrollViewReader, and List, and I've noticed a strange behavior. When the TextEditor at the bottom of the view is focused and the keyboard is displayed, if I change the keyboard type to Emoji and then switch back to the language keyboard, the scroll becomes misaligned. Although the TextEditor remains focused, when this bug occurs, the view's offset is reset as if the focus was lost.
Could you help me with this?
Hello everyone,
I'm stuck here, i have developed an app, and i keep getting from Apple "Guideline 4.3(a) - Design - Spam" - We continue to notice that your app shares a similar binary, metadata, and/or concept as apps submitted to the App Store by other developers, with only minor differences.
As i was looking around this seems to be so much an issue now for many people and i don't understand why.
My app which is approved in Android already it have an unique design built my own, and the most important the content (in this case futures crypto signals) are created by my own strategy, so it can be no where else found.
I literally have no idea what to do next, i don't want to do major changes because i don't believe the app looks similar to any other app and for the reason that its already in Google Play Store i don't want to do major UI design.
We would greatly appreciate any valuable advice from fellow developers in the community to help us navigate this challenge and successfully pass the review
I'm trying out Icon Composer Version 1.0 (27.4). I imported a simple logo and sized it in the outer circle. The icon appears good in the Icon Composer. But when I export the file and use it for my app icon it seems to be missing a margin or padding that other native application icons have.
Am i supposed to be adding my own padding to these resulting icons or am I building them incorrectly? Any guidance would be appreciated. Thanks!
Hey all — I’ve been building out my first set of Game Center Achievements for a game I’m working on, and I’ve run into something odd with the image quality.
The specs say to upload icons at 512x512 or 1024x1024@2x. I’ve been uploading 1024x1024 PNGs (without explicitly naming them “@2x” since there’s only one upload slot), assuming that Game Center would just handle the scaling automatically — kind of like how a lot of things are getting more streamlined across platforms lately.
But in testing, the icons are showing up a bit blurry, especially in the Game Center interface. It’s not horrible, but it’s definitely softer than I expected — more like low-res than Retina.
All my test devices (outside the Simulator) are running iOS 26, so I’m also wondering if this might be a beta-related display bug?
Has anyone else run into this? Curious if I’m missing a best practice here, or if I really do need to ensure I’m uploading it with the @2x suffix, or maybe something else entirely?
Thanks!
I have a couple of (older) UIKit-based Apps using UISplitViewController on the iPad to have a two-column layout. I'm trying to edit the App so it will shows the left column as sidebar with liquid glass effect, similar to the one in the "Settings" App of iPadOS 26. But this seems to be almost impossible to do right now.
"out of the box" the UISplitViewController already shows the left column somehow like a sidebar, with some margins to the sides, but missing the glass effect and with very little contrast to the background. If the left column contains a UITableViewController, I can try to get the glass effect this way within the UITableViewController:
tableView.backgroundColor = .clear
tableView.backgroundView = UIVisualEffectView(effect: UIGlassContainerEffect())
It is necessary to set the backgroundColor of the table view to the clear color because otherwise the default background color would completely cover the glass effect and so it's no longer visible.
It is also necessary to set the background of all UITableViewCells to clear.
If the window is in the foreground, this will now look very similar to the sidebar of the Settings App.
However if the window is in the back, the sidebar is now much darker than the one of the Settings App. Not that nice looking, but for now acceptable.
However whenever I navigate to another view controller in the side bar, all the clear backgrounds destroy the great look, because the transition to the new child controller overlaps with the old parent controller and you see both at the same time (because of the clear backgrounds).
What is the best way to solve these issues and get a sidebar looking like the one of the Settings App under all conditions?
Hi, my name is Yuki.
I'm developing an application with generative AI for junior and high school students based on the Nocode tool "bubble" (BDK Native).
I want to upload this app to the App Store, however, a notch-like interface element is appearing only in the iPad environment, which is causing my app to fail App Store review.
I've reached out to the BDK Native support team about this issue, but they were unable to identify the cause and only offered a refund as a solution. This is particularly frustrating as I'm unable to proceed with the App Store publication, and time is passing without a resolution.
Technical details:
The notch appears only on iPad devices
The issue is not present on iPhone versions
The app was built using bubble/BDK Native
Multiple App Store submissions have been rejected due to this UI issue
Has anyone encountered a similar issue or knows how to resolve this iPad-specific interface problem? Any guidance or suggestions would be greatly appreciated, as this is blocking our app's release.
Thank you in advance for your help!