I am trying to integrate those into my app, stuck on it would not transfer to view that inside app, can someone help?
Scott
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I have the following snippet (but you can see my entire code in GitHub, if you want):
LazyVGrid(columns: columns) {
ForEach(books) { book in
BookView(book: book)
.draggable(Book.BookTransferable(persistanceIdentifier: book.id))
}
}
and BookView is:
VStack {
Image(nsImage: book.image)
.resizable()
.frame(width: 150, height: 200)
.scaledToFill()
Text(book.title)
.lineLimit(1)
.font(.headline)
HStack {
ForEach(book.tags.sorted(), id: \.self) { tag in
TagView(tag: tag, showText: false)
}
}
}
.padding()
This will render each BookView on a different base-line because of the fact that the Text view sometimes takes 1, 2 or even 3 lines (as shown).
How can I have all BookViews alligned at a common base-line (as it would if Text would only take one line, for example)?
Hello! I'm using the new Xcode 26.3 RC and it's new MCP server:
However, I am repeatedly prompted to give access to Codex (both the new macOS app and the CLI).
And I'm seeing duplicates in the Xcode dropdown:
It's pretty blocking in my workflow as I have to keep Allowing over and over again.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Hi — I’m seeing the DocumentGroup rename/title affordance get clipped on iPad when I populate the navigation bar with SwiftUI toolbar items in .topBarLeading, .principal, and .topBarTrailing (trailing is an HStack of controls). Example:
.toolbar {
ToolbarItem(placement: .topBarLeading) { UndoRedoControlsView(...) }
ToolbarItem(placement: .principal) { Text(canvasInfoTitle).lineLimit(1) }
ToolbarItem(placement: .topBarTrailing) { HStack { ... } }
}
.navigationBarTitleDisplayMode(.inline)
Is there a recommended way to structure toolbar content so the system’s document title/rename control always has space (or a way to reserve space / avoid clipping), short of removing .principal or moving items into menus?
Topic:
UI Frameworks
SubTopic:
SwiftUI
Hey everyone, I’ve been building iOS apps since 2011, released several, took a four-year break, and recently launched two new apps, but the ecosystem feels very different now.
Earlier, new apps saw strong first-day downloads and fast Google indexing, while today my App Store pages took weeks to appear and show almost no organic traction without promotion, so I’m curious if others notice this and how developers now gain discovery.
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
App Store
App Review
App Store Connect
Hello does a flow exist to watch the status of an unlisted app request? I submitted into what seems like a black hole of feedback...thx for any feedback on this.
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
My application calculates three distinct Meesus Double [x, y, z] Radian values to light a sphere in RealityKit with DirectionalLight. It is my understanding that I must use (simd_quatf) for each radian value to properly light the sphere in the view. The code correctly [orientates] the sphere with the combined (simd_quatf) DirectionalLight in the view, but the illumination (Z-axis) fails to properly illuminate the sphere with the expected result, compared to associated Meesus web page images. For the moment, I do not know how to correct the (Z-axis). Curious for a suggestion ... :]
// Location values.
let theLatitude: Double = 51.13107260
let theLongitude: Double = -114.01127910
let currentDate: Date = Date()
struct TheCalculatedMoonPhaseTest_ContentView: View {
var body: some View {
VStack {
if #available(macOS 15.0, *) {
RealityView { content in
let moonSphere_Entity = Entity.createSphere(radius: 0.90, color: .black)
moonSphere.Entity.name = "MoonSphere"
moonSphere.Entity.position = SIMD3<Float>(x: 0, y: 0, z: 0)
content.add(moonSphere.Entity)
let sunLight_Entity = createDirectionalLight(latitude: theLatitude, longitude: theLongitude, date: currentDate)
content.add(sunLight_Entity)
} // End of [RealityView]
} else {
// Earlier version required.
} // End of [if #available(macOS 15.0, *)]
} // End of [VStack]
.background(Color.black)
} // End of [var body: some View]
// MARK: - 🟠🟠🟠🟠 [SET THE BACKGROUND COLOUR] 🟠🟠🟠🟠
var backgroundColor: Color = Color.init(.black)
// MARK: - 🟠🟠🟠🟠 [CREATE THE DIRECTIONAL LIGHT FOR THE SPHERE] 🟠🟠🟠🟠
func createDirectionalLight(latitude: Double, longitude: Double, date: Date) -> Entity {
let directionalLight = DirectionalLight()
directionalLight.light.color = .white
directionalLight.light.intensity = 1000000
directionalLight.shadow = DirectionalLightComponent.Shadow()
directionalLight.shadow?.maximumDistance = 5
directionalLight.shadow?.depthBias = 1
// MARK: 🟠🟠🟠🟠 Retrieve the [MEESUS MOON AGE VALUES] from the [CONSTANT FOLDER] 🟠🟠🟠🟠
let theMeesusMoonAge_LunarAgeDaysValue = 25.90567592898601
if theMeesusMoonAge_LunarAgeDaysValue >= 23.10 && theMeesusMoonAge_LunarAgeDaysValue < (29.530588853 - 1.00) {
let someCalculatedX_WestEastRadian: Float = Float(1.00)
// Identify the sphere’s DirectionalLight Tilt Angle (Y) radian value ::
// Note :: The following Tilt Angle is corrected to [Zenith] with the [MeesusCalculatedTilt_Angle] minus the [MeesusCalculatedPar_Angle].
let someCalculatedY_TiltAngleRadian: Float = Float(1.3396086)
// Identify the sphere’s DirectionalLight Illumination (Z) radian Value ::
// Note :: The Meesus calculated illumination fraction is converted to degrees, then converted to a radian value.
let someCalculatedZ_IlluminationAngleRadian: Float = Float(0.45176168630244457) // <=== 14.3800% Illumination.
// Define rotation angles in radians for X, Y, and Z axes.
let x_Radians = someCalculatedX_WestEastRadian
let y_Radians = someCalculatedY_TiltAngleRadian
let z_Radians = someCalculatedZ_IlluminationAngleRadian
// Identify and separate the quaternion [simd_quatf] for each Radian.
let q_X = simd_quatf(angle: x_Radians, axis: SIMD3<Float>(1, 0, 0))
let q_Y = simd_quatf(angle: y_Radians, axis: SIMD3<Float>(0, 1, 0))
let q_Z = simd_quatf(angle: z_Radians, axis: SIMD3<Float>(0, 0, 1))
// Apply and combine the rotations, where order matters.
let combinedRotation = q_Z * q_Y * q_X
// Identify the [Combined Rotation].
// The [MyMoonMeesus] :: [WANING CRESCENT] calculated [combinedRotation] :: simd_quatf(real: 0.73715997, imag: SIMD3<Float>(0.24427173, 0.61516714, -0.13599981)) ° Radians
// Normalize the [combinedRotation].
let theNormalizesRotation = simd_normalize(combinedRotation)
// Identify the [Normalized Combined Rotation].
// The [MyMoonMeesus] :: [WANING CRESCENT] calculated [normalizedRotation] :: simd_quatf(real: 0.73715997, imag: SIMD3<Float>(0.24427173, 0.61516714, -0.13599981)) ° Radians
// Assume the [theNormalizesRotation] appears reversed.
let theCorrectedRotation = theNormalizesRotation.inverse
// Identify the [Reversed Combined Rotation].
// The [MyMoonMeesus] :: [WANING CRESCENT] calculated [correctedRotation] :: simd_quatf(real: 0.73715997, imag: SIMD3<Float>(-0.24427173, -0.61516714, 0.13599981)) ° Radians
// Apply the [Corrected Rotation] to the entity.
directionalLight.transform.rotation *= theCorrectedRotation
// Add the [directionalLight] to the scene ::
let anchor = AnchorEntity()
anchor.addChild(directionalLight)
} // End of [if theMeesusMoonAge_LunarAgeDaysValue >= 23.10 && theMeesusMoonAge_LunarAgeDaysValue < (29.530588853 - 1.00)]
return directionalLight
} // End of [func createDirectionalLight(latitude: Double, longitude: Double, date: Date) -> Entity]
} // End of [struct TheCalculatedMoonPhaseTest_ContentView: View]
// MARK: 🟠🟠🟠🟠 [ENTITY HELPER EXTENSION] 🟠🟠🟠🟠
extension Entity {
static func createSphere(radius: Float, color: NSColor) -> Entity {
let mesh = MeshResource.generateSphere(radius: radius)
var material = PhysicallyBasedMaterial()
material.baseColor = .init(tint: color)
let modelComponent = ModelComponent(mesh: mesh, materials: [material])
let entity = Entity()
entity.components.set(modelComponent)
entity.components.set(Transform())
return entity
} // End of [static func createSphere(radius: Float, color: NSColor) -> Entity]
} // End of [extension Entity]
// Application Image :: Calgary
// Website Image :: timeanddate
// mooncalc.org
Good morning, the link https://applepaydemo.apple.com/wallet-extensions returns a {"detail":"Not Found"} when accessed.
This is one of the links that are present in https://developer.apple.com/documentation/PassKit/implementing-wallet-extensions, could this be looked at please ?
The exact place is: For more information on Wallet Extensions, see the Apple Pay Demo - Wallet Extensions documentation.
Topic:
Community
SubTopic:
Apple Developers
Hi,
I have systematic crashes when updating Xcode Cloud Workflows in Xcode, reproduced with Xcode 26.2 and 26.3 RC.
Steps to reproduce:
Go to the Report Navigator Tab
Select Cloud
Edit Workflow
Perform a change
Click Save
Crash
I did not see any recent issue in the forum.
I have a crash dump, but it's too long to post here.
I've coded a text-adventure game in SwiftUI. (My game has no graphics or sound effects.)
My app already supports keyboard navigation; I would like to add support for game controllers on iPhone. I can't figure out how to do it. I especially can't see any way to allow controller users to enter text in a TextField.
I've read https://developer.apple.com/documentation/gamecontroller/supporting-game-controllers and it's all about button events. There's no reference to SwiftUI at all in that documentation, or any input-method editing at all. The only mention of "keyboard" is about treating the keyboard itself as if it were a game controller providing button events.
How do I implement this?
Hi, I wonder if there's something that can be configured to force Xcode (and preferably MVD too) to use Ethernet connection between Mac Mini and Apple Vision Pro (over a USB hub, not a direct USB connection)?
If I connect AVP to Mac directly via USB, the bridge gets created and both MVD and Xcode default to it, which is great because of higher speed and lower latency.
My problem is that I work with external camera, so I can have either the camera, or the Mac connection, but not both. I tried to solve that by plugging in a small active USB hub, so the strap and camera are connected to it, plus it has Ethernet adapter, which is plugged into Mac port. I tried with internet sharing on Mac - AVP has internet access, I can ping AVP from Mac, but Xcode and MVD still use wifi. I tried to manually configure bridge without internet sharing - same effect. I tried to make the bridge highest priority connection - nothing changed. I tried to force routing to AVP IP over the bridge - nothing (and it seems that my routing entry went missing after some time and was replaced by "use wifi interface").
So - is there something more I can do to make at least Xcode go over the cable? Debugging over wifi often takes forever.
I’m developing a share extension for iOS 26 with Xcode 26. When the extension’s sheet appears, it always shows a full white background, even though iOS 26 introduces a new “Liquid Glass” effect for partial sheets.
Expected:
The sheet background should use the iOS 26 glassmorphism effect as seen in full apps.
Actual behavior:
Custom sheets in my app get the glass effect, but the native system sheet in the share extension always opens as plain white.
Steps to reproduce:
Create a share extension using UIKit
Present any UIViewController as the main view
Set modalPresentationStyle = .pageSheet (or leave as default)
Observe solid white background, not glassmorphism
Sample code:
swift
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .clear
preferredContentSize = CGSize(width: UIScreen.main.bounds.width, height: 300)
}
Troubleshooting attempted:
Tried adding UIVisualEffectView with system blur/materials
Removed all custom backgrounds
Set modalPresentationStyle explicitly
Questions:
Is it possible to enable or force the Liquid Glass effect in share extensions on iOS 26?
Is this a limitation by design or a potential bug?
Any workaround to make extension sheet backgrounds match system glass appearance?
As the title says, in apple developer site under (Certificates, Identifiers & Profiles) all my devices are set to inactive, and I cannot enable them back because my twices are glitched I have 2 devices and they are there twice each with the same UDID. So I cannot enable a single one. I’m hit with
“A device with number 'UDID number' already exists on this team.” I have an iPad Pro and iPhone 17 Pro Max, I cannot sign any apps to them at all or do anything because my devices are set to inactive, I’ve contacted apple numerous times, and I can’t seem to get any help regarding this issue. I’ve called and emailed, and the developer team has yet to respond to me, if anyone’s had this issue please tell me how you solved it.
i also cannot erase any devices myself until my renewal date.
ive tried manually adding my devices, and its the same message that my devices already exist on team. Ive signed out of my apple account on my devices, changed pw, turned off developer mode and renabled it numerous times, I really don’t know what to do.
Hello,
I’m experiencing repeated rejections related to Guideline 2.1 – App Completeness for an iOS app using auto-renewable subscriptions, and I’m struggling to understand what is missing, as the purchase flow works correctly in sandbox and TestFlight.
App setup:
iOS app built with React Native (Expo + react-native-iap)
Auto-renewable subscriptions:
• Monthly: €4.99
• Yearly: €39.99
Paid Apps Agreement accepted
Subscriptions configured and active in App Store Connect
Privacy Policy and Apple Standard EULA included:
• Visible inside the app on the subscription screen
• Added in App Store metadata
What App Review reports:
App Review states they are unable to buy the in-app purchase, resulting in a rejection under Guideline 2.1 (App Completeness).
What works correctly:
getSubscriptions() returns valid products in sandbox
Subscription titles, prices, and durations are displayed in the app UI
requestSubscription() is triggered when tapping the subscribe button
Apple purchase sheet appears and completes successfully in:
• Sandbox testing
• TestFlight (external testers)
What I’ve verified:
No conditional logic blocks purchases in review builds
Purchase button always calls requestSubscription
purchaseUpdatedListener and purchaseErrorListener are correctly registered
No hardcoded prices; prices come from StoreKit
Same behavior on iPhone and iPad
Question:
Is there any known limitation or requirement in the App Review environment for auto-renewable subscriptions that differs from sandbox/TestFlight when using a custom subscription UI (not SubscriptionStoreView)?
If App Review requires a specific implementation detail (StoreKit 2, SubscriptionStoreView, or something else), I would really appreciate clarification, as this is not explicitly stated in the rejection.
Thank you for your help.
TabView inside NavigationStack is abnormal when using Xcode 26. The y deviation is about 14.
But it is right when using Xcode 16.4.
It is also right without NavigationStack.
import SwiftUI
struct ContentView: View {
private enum Tab: Hashable, CaseIterable {
case a
case b
}
@State private var currentTab: Tab = .a
@State private var path: NavigationPath = NavigationPath()
var body: some View {
NavigationStack(path: $path) {
TabView(selection: $currentTab) {
ForEach(Tab.allCases, id: \.self) { tab in
switch tab {
case .a:
Color.blue
// .offset(y: -14)
case .b:
Color.yellow
}
}
}
.tabViewStyle(.page(indexDisplayMode: .never))
.ignoresSafeArea(.all)
}
}
}
Topic:
UI Frameworks
SubTopic:
SwiftUI
I'm importing SwiftUI, Foundation and Charts into an iOS app I'm writing in Swift in Xcode Playgrounds and am getting this error:
error: Couldn't look up symbols:
protocol witness table for Foundation.Date : Charts.Plottable in Charts
the code looks like this in just two example files:
file 1, the view
import Foundation
import SwiftUI
import Charts
import PlaygroundSupport
struct FirstChart_WithDates: View {
private let data = ChartDateAndDoubleModel.mockData(months: 3)
var body: some View {
Chart(data) { item in
BarMark(
x: .value("Label", item.date, unit: .month),
y: .value("Value", item.value)
)
}
.padding()
.aspectRatio(1, contentMode: .fit)
.dynamicTypeSize(.accessibility1)
ChartDateAndDoubleModelView(data: data)
}
}
struct ChartDateAndDoubleModelView: View {
var data: [ChartDateAndDoubleModel]
var body: some View {
VStack {
HeaderRowView(texts: ["date", "value"])
ForEach(data) { datum in
HStack {
Text(datum.date.formatted(date: .abbreviated, time: .omitted))
.frame(maxWidth: .infinity)
// TODO: Format for 2 decimal places.
Text(datum.value, format: .number.precision(.fractionLength(2)))
.frame(maxWidth: .infinity)
}
}
}
.padding(.bottom, 8)
.overlay(.quaternary, in: .rect(cornerRadius: 8).stroke())
.padding()
}
}
struct HeaderRowView: View {
var texts: [String]
var body: some View {
HStack(spacing: 2.0) {
ForEach(texts, id: \.self) { text in
Text(text)
.padding(4)
.frame(maxWidth: .infinity)
.background(.quaternary)
}
}
.font(.headline)
.mask(UnevenRoundedRectangle(topLeadingRadius: 8, topTrailingRadius: 8))
}
}
and file 2, the model:
import Foundation
import SwiftUI
import Charts
// ChartDateAndDoubleModel.swift
//
//
// Created by Michael Isbell on 2/10/26.
//
public struct ChartDateAndDoubleModel: Identifiable {
public let id = UUID()
public let date: Date
public let value: Double
}
public extension ChartDateAndDoubleModel {
static func mockData(months: Int = 5) -> [ChartDateAndDoubleModel] {
var data: [ChartDateAndDoubleModel] = []
let calendar = Calendar(identifier: .gregorian)
let currentDate = Date()
for month in 0..<months {
//add month to current date and append to data
data.append(
ChartDateAndDoubleModel(
date: calendar.date(byAdding: .month, value: month, to: currentDate)!,
value: Double.random(in: 0...1000)
)
)
}
return data
}
}
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
Foundation
Swift Playground
Playground Support
Swift Charts
Hi
I’ve previously shipped apps to the App Store, but I’m encountering an In-App Purchase issue on this submission.
During App Review, tapping Continue on the paywall shows:
“Plans not available, try again later.”
This leads to a rejection under Guideline 2.1 – App Completeness.
I’ve confirmed:
Paid Apps Agreement is active
Subscription plans are Ready to Submit
StoreKit returns products during sandbox testing
Purchases work correctly with fresh sandbox users
Is there any way to reproduce or validate the App Review sandbox environment without repeatedly resubmitting? Are there known reasons this error appears in review but not during local sandbox testing?
Thanks.
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
I'm working on adding Spatial Audio support to a game on the Mac. I'm looking at the SpatialAudioRenderer sample but having some issues.
It's unclear to me when a device is compatible with Spatial Audio and when I should attempt to render Spatial Audio. There is no property that I can find on the Mac that advertises Spatial Audio compatibility on a device.
The sample crashes when the output device is a USB device. This includes the Apple Studio Display.
The Apple Studio Display is supposed to be capable of rendering Spatial Audio. The device doesn't work with the sample - do I still need to render down the 7.1.4 source on this device? The sample always renders down to Stereo, but the Apple Studio Display is not a Stereo device.
I'm a bit confused by the sample and when/how I should configure the mixing unit.
Topic:
Media Technologies
SubTopic:
Audio
Xcode 26.2 cannot delete the Simulator under Other Installed Platforms.
After testing, I found that Simulator Architecture Variant of the Universal type cannot be deleted, but the Apple Silicon type can be deleted.
Every time I delete it, it reappears after restarting the computer.
There is no way to make an instance of UISegmentedControl transparent like it's done in Photos or Camera. Especially it looks wrong when segmented control is put to a Liquid Glass container.
Setting background colour to nil or clear does not help
If a transparent image is set as a background image for state and bar metrics, it kills liquid glass selection and segments started to look wrong
How can the standard gray-ish background can be removed?