We have 2 iPhones (16 pro - iOS 18.2, 16 regular - iOS 18.5 ) in single app mode and sometimes we need to shut them down manually. After holding Power and VolumeUp, shutdown screen appears as usual, but the slider isn't responding to touch, as well as the whole screen. After force restart using volume buttons, this issue disappears, but reappears after next phone restart.
If we disable single app mode -the issue is gone and touch screen works every time on shutdown screen. Both iPhones share the same behavior.
Is there any other way to reliably shut down the iPhone locally without using MDM or a way to fix this issue?
Dive into the vast array of tools, services, and support available to developers.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi All,
I'm new to IOS development/Xcode and would appreciate any/all advice/guidance on this unexplainable issue. Please excuse my potential usage of wrong terms.
I have a project that was handed to me in a near completed state and there is a UI bug in the program that I am trying to fix. It is opening multiple instances of a View Controller Scene in the wrong dimensions, causing instanced layers that act independently of each other rather than a simple "page re-routing" like regular front end development.
Upon investigating the codebase I have noticed the following potential source:
The storyboard was originally modeled after an IPhone 16 Pro Max, however the main device we will be creating the app for is an iPad 11 mini. Upon changing the simulated device, the view models for most of my XXXViewControllerScenes are not rendering the correct size.
Here are some examples:
Image1 ) When selecting the RootNavController (scene 1) > all storyboard scenes render the correct size (at least thats what it visually looks like). When clicking on the "Type Select View Controller" or the View within the "Type Select View Controller Scene" (scene 2) the view models remain the correct size.
Image2) However when clicking into the View for "Order Start View Controller Scene" - this causes the View and SafeArea renders for all scenes(except the RootNav)to shrink and not be the correct size equal to the simulated device:
This also persists, where previosly my Scene 2 which was the correct size, is now the incorrect size no matter what I do. The only way I have found to work around this is to re-select my RootNavController to render all scenes the proper size, then individually click the components I'm trying to edit in the Document Outline panel and tweak them manually on the Attribute Editor. Not to mention this makes setting constraints extremely hard as the elements render "off screen"
What I have checked so far:
Ensure all my ViewControllerScene's Attribute Editor > Simulated Metric > Size = Inferred
Unchecked "Use Preferred Explicit Size" for all ViewControllerScene's Attribute Editor > Simulated Metric > Content Size - 1 thing to note here is some of them have a set size of 744x1133 (when they render the full size) but it changes to 580x640 (when it shrinks) even though the option is UNCHECKED?
Circling back to the UI Bug in my app, when I segue to the next Scene, the pages end up loading in the shrinked dimension.
Please help me identify what is causing this issue and how to fix it or refer me to some guides that can assist.
Hi there, can anyone help here. I think somewhere along the way I screw certificates or don't have the right one, anyway long story short when building product I get this error: Embedded binary is not signed with the same certificate as the parent app. Verify the embedded binary target's code sign settings match the parent app's.
My company's app has a few widgets and a couple of them we do not want to show up on CarPlay due to safety concerns when iOS 26 releases. I understand Apple's recommended way to prevent users from using your widget in CarPlay is to use the .disfavoredLocations([.carPlay], for: [.systemSmall]), and this puts your widget in the 'Other' section of the widgets.
https://developer.apple.com/download/files/CarPlay-Developer-Guide.pdf
However, this .carPlay widget location is only available in Xcode 26, and our app cannot be built on Xcode 26 yet due to some build errors. We are able to fix those build errors in a separate branch, but we won't be doing our official release builds on Xcode 26 until it is out of beta, which is usually right before iOS 26 officially releases to general audiences. We release our app versions on a monthly cadence, so the version that will be out when iOS 26 comes out is already in testing.
Is there any existing way we can disable this widget on CarPlay so it does not appear to work when tapped? Currently, it opens our CarPlay app, but the CarPlay app does nothing with it. On the iPhone, when you tap the widget it opens our app and performs a function.
We don't wan't to disable it on the iPhone, just when it's on CarPlay. We don't have time before the app release to implement the same functionality on our CarPlay app. I haven't found any reliable way to detect if the widget is running in the CarPlay location versus the iPhone home screen.
Thanks in advance for any assistance.
Whenever I hit play on my app to test it on the Mac the register .app part starts taking more than 15 minutes, this is severely impacting my work.
There's no indication on what's wrong and how can I fix this.
I am trying to solve an issue when converting an existing project to use Buildable Folders:
Our current project have some custom file types that have specialized build rules, as described here:
https://developer.apple.com/documentation/xcode/creating-build-rules-for-custom-file-types
We previously added each of these file types, to the target's Compile Sources phase and everything was running well.
Now we wish to move these files into a Buildable Folder, but I cannot find a way to make it work ... as only files with a specific file extensions are ever built in a Buildable Folder, and despite having a custom rule for this file type, it seems like Xcode never runs the rule.
Is there some way to tell Xcode to treat specific extensions in a Buildable Folder as source extension?
Topic:
Developer Tools & Services
SubTopic:
Xcode
Hey,
I am trying to implement the apple pay process pay backend service,
I have checked everything and somehow it fails. I only have 1 certificate for merchant and 1 for the apple pay process, I have the private keys and try to run this following code that fails -
import crypto from 'crypto';
import fs from 'fs';
import forge from 'node-forge';
const MERCHANT_ID_FIELD_OID = '1.2.840.113635.100.6.32';
function decryptedToken()
{
const token = "";
const ephemeralPublicKey = "";
const encryptedData = "";
//===================================
// Import certs
//===================================
const epk = Buffer.from(ephemeralPublicKey, 'base64');
const merchantCert = fs.readFileSync('merchant_full.pem', 'utf8')
const paymentProcessorCert = fs.readFileSync("apple_pay_private.pem");
//===================================
let symmetricKey = '';
try {
symmetricKey = restoreSymmetricKey(epk, merchantCert, paymentProcessorCert);
} catch (err) {
throw new Error(`Restore symmetric key failed: ${err.message}`);
}
try {
//-----------------------------------
// Use the symmetric key to decrypt the value of the data key
//-----------------------------------
const decrypted = JSON.parse(decryptCiphertextFunc(symmetricKey, encryptedData));
console.log("Decrypted Token:", decrypted);
// const preppedToken = prepTabaPayToken(token, decrypted)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Send decrypted token back to frontend
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// res.send(preppedToken);
} catch (err) {
throw new Error(`Decrypt cipher data failed: ${err.message}`);
}
}
// extractMerchantID -
const extractMerchantID = (merchantCert) => {
//===================================
// Extract merchant identification from public key certificate
//===================================
try {
const info = forge.pki.certificateFromPem(merchantCert);
const result = info['extensions'].filter(d => d.id === MERCHANT_ID_FIELD_OID);
//-----------------------------------
// Return
//-----------------------------------
return result[0].value.toString().substring(2);
} catch (err) {
throw new Error(Unable to extract merchant ID from certificate: ${err});
}
}
// generateSharedSecret -
const generateSharedSecret = (merchantPrivateKey, ephemeralPublicKey) => {
//===================================
// Use private key from payment processing certificate and the ephemeral public key to generate
// the shared secret using Elliptic Curve Diffie*Hellman (ECDH)
//===================================
const privateKey = crypto.createPrivateKey({
key: merchantPrivateKey,
format: "pem",
type: "sec1", // because it's "EC PRIVATE KEY"
});
const publicKey = crypto.createPublicKey({
key: ephemeralPublicKey,
format: 'der',
type: 'spki'
});
//-----------------------------------
// Return
//-----------------------------------
return crypto.diffieHellman({privateKey,publicKey: publicKey,});
//-----------------------------------
}
// getSymmetricKey -
const getSymmetricKey = (merchantId, sharedSecret) => {
//===================================
// Get KDF_Info as defined from Apple Pay documentation
//===================================
const KDF_ALGORITHM = '\x0didaes256GCM';
const KDF_PARTY_V = Buffer.from(merchantId, 'hex').toString('binary');
const KDF_PARTY_U = 'Apple';
const KDF_INFO = KDF_ALGORITHM + KDF_PARTY_U + KDF_PARTY_V;
//-----------------------------------
// Create hash
//-----------------------------------
const hash = crypto.createHash('sha256');
hash.update(Buffer.from('000000', 'hex'));
hash.update(Buffer.from('01', 'hex'));
hash.update(Buffer.from(sharedSecret, 'hex'));
hash.update(KDF_INFO, 'binary');
//-----------------------------------
// Return
//-----------------------------------
return hash.digest('hex');
//-----------------------------------
}
// restoreSymmetricKey -
const restoreSymmetricKey = (ephemeralPublicKey, merchantCert, paymentProcessorCert) => {
//===================================
// 3.a Use the payment processor private key and the ephemeral public key, to generate the shared secret
//===================================
const sharedSecret = generateSharedSecret(paymentProcessorCert, ephemeralPublicKey);
//-----------------------------------
// 3.b Use the merchant identifier of the public key certificate and the shared secret, to derive the symmetric key
//-----------------------------------
const merchantId = extractMerchantID(merchantCert);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Return
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
console.log("Merchant ID:", merchantId);
console.log("Shared Secret (hex):", sharedSecret);
return getSymmetricKey(merchantId, sharedSecret);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}
// decryptCiphertextFunc -
const decryptCiphertextFunc = (symmetricKey, encryptedData) => {
console.log("🔑 Decrypting Ciphertext with Symmetric Key:", symmetricKey);
//===================================
// Get symmetric key and initialization vector
//===================================
const buf = Buffer.from(encryptedData, 'base64');
const SYMMETRIC_KEY = Buffer.from(symmetricKey, 'hex');
const IV = Buffer.from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); // Initialization vector of 16 null bytes
const CIPHERTEXT = buf.slice(0, -16);
//-----------------------------------
// Create and return a Decipher object that uses the given algorithm and password (key)
//-----------------------------------
const decipher = crypto.createDecipheriv("aes-256-gcm", SYMMETRIC_KEY, IV);
const tag = buf.slice(-16, buf.length);
decipher.setAuthTag(tag);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Load encrypted token into Decipher object
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
let decrypted = decipher.update(CIPHERTEXT);
console.log("🔑 Decrypted Data");
decrypted += decipher.final();
//:::::::::::::::::::::::::::::::::::
// Return
//:::::::::::::::::::::::::::::::::::
return decrypted;
//:::::::::::::::::::::::::::::::::::
}
decryptedToken();
I'm having a problem with Xcode 26 where a symbol bug is causing my app to crash at launch if they are running iOS 17.X
This has to do with a HealthKit API that was introduced in iOS 18.1 HKQuantityType(.appleSleepingBreathingDisturbances), I use availability clauses to ensure I only support it in that version. This all worked fine with Xcode 16.4 but breaks in Xcode 26.
This means ALL my users running iOS 17 will get at launch crashes if this isn't resolved in the Xcode GM seed.
I'll post the code here in case I'm doing anything wrong. This, the HealthKit capability, the "HealthKit Privacy - Health Share Usage Description" and "Privacy - Health Update Usage Description", and device/simulator on iOS 17.X are all you need to reproduce the issue.
I've made a feedback too as I'm 95% sure it's a bug: FB19727966
import SwiftUI
import HealthKit
struct ContentView: View {
var body: some View {
VStack {
Image(systemName: "globe")
.imageScale(.large)
.foregroundStyle(.tint)
Text("Hello, world!")
}
.padding()
.task {
print(await requestPermission())
}
}
}
#Preview {
ContentView()
}
func requestPermission() async -> Bool {
if #available(iOS 18.0, *) {
let healthTypes = [HKQuantityType(.appleSleepingBreathingDisturbances)]
var readTypes = healthTypes.map({$0})
let write: Set<HKSampleType> = []
let res: ()? = try? await HKHealthStore().requestAuthorization(toShare: write, read: Set(readTypes))
guard res != nil else {
print("requestPermission returned nil")
return false
}
return true
}
else { return false}
}
"Auth Key can only be downloaded once. This auth key has already been downloaded."
See title. I'm logged into the correct account, developer mode is correctly enabled, and the associated Apple ID is the same as my developer account. Has anyone else encountered this issue? I only see the public betas that are available.
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
How to configure the Imported Type Identifiers of a document based app so that it can open any possible UTType? (i.e. it is a generic tool like a text editor or a hex editor that is supposed to be able to open any file).
Thank you!
Topic:
Developer Tools & Services
SubTopic:
Xcode
I'm using the WebGPU abstraction library wgpu to build an app using compute shaders that compiles to Metal (on macOS), and in certain patterns where it uses a staging buffer for initial data, the data is just total missing from the capture, breaking other workflows such as shader debugging or seeing the completed results in the final buffer.
I wrote up details including a repro project and screen shots of the issue at https://github.com/gfx-rs/wgpu/issues/8111 . Seems like an Xcode bug. Any ideas? I'm happy to help investigate further if I can.
I've got a weird issue where Passkey fails, but only on developer.apple.com.
Here's how it manifests:
On portal, select "Sign In With Passkey"
Get prompted with TouchId (on my MacBook)
Portal says "can't verify your account"
However:
Sign in with Password works fine
Sign in with Passkey on any other website works fine
Not sure if it's related, but this appears to have happened around the time I had my logic board replaced. I did have weird issues with my iCloud account where I had to sign out of all devices, then sign back in. I assume this has to do with the hardware having the same serial number, but somehow appeared like a different computer in other ways.
Things I've tried:
In Passwords app, searching for "apple.com", I only see passwords, no passkeys. However, Safari password auto-fill always suggests the passkey entry first.
developer.apple.com does not appear to have any way of managing sign-in credentials
accounts.apple.com does not appear to be any way to manage passkeys.
Sign in with Passkey on iPhone also results in "can't verify your account".
Called AppleCare support, they were unable to help. Since Passkeys work for other websites, they believe this is a problem specifically with developer.apple.com. They suggested calling Developer support.
Called Developer support, they were unable to help. They said AppleCare Support is best suited.
Filled out Feedback (FB18185623)
System:
macOS 15.6
Safari 18.6
Has anyone else encountered anything weird like this? Is there any way to fix this? It would be nice if I could just delete the old passkey and create a new one. But I can't find any tool that will let me do that.
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
Tags:
Developer Tools
Passkeys in iCloud Keychain
The Apple documentation is from the 10.6 era and appears to be not correct for the modern OS. I have the help book prepared as a html document. What needs to be done to take this html document (html text and in the same directory a directory with all the image files. In Firefox the html document displays correctly. What modifications are necessary for the html document? And where do I lace this in the application bundle?
Topic:
Developer Tools & Services
SubTopic:
Xcode
I paid my bill on
It's been 3 days since my Apple Developer Program application was approved. Can I help?
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
I'm experiencing an issue here on my Xcode 16.4, where i can't download the supported iOS 18.6 runtime because it stays stuck on the 'preparing' state. I have also tried getting it manually from the dev site but they only have 18.2. The only runtime that would download easily via Xcode was 17.5 but I can't build my project with that.
I have tried using curl to even get a download url, nothing worked.
All my terminal approach didn't work also.
Any help or guidance to sort this out?
Thank you.
I am having similar problems to this guy on Stack Overflow over a year ago:
https://stackoverflow.com/questions/77627852/functions-of-iouserscsiperipheraldevicetype00-class-in-scsiperipheralsdriverkit
There are also a few questions on this forum about this object, none of which have answers.
I can get my driver to match and instantiate, but
nobody calls my UserDetermineDeviceCharacteristics (which does nothing, just returns kIOReturnSuccess)
I can attempt to call UserSuspendServices(), UserResumeServices() or UserReportMediumBlockSize() and all of them return kIOReturnUnsupported. It doesn't matter if I've unmounted the disk or not.
Is the custom driver supposed to be instantiated beside the kernel's IOSCSIPeripheralDeviceType00, or should it replace it?
What should its IOProviderClass be?
What should its IOClass be - IOUserService, or something else?
see FB19678139 and FB19677920
I have two apps in App Store Connect (same app but different bundle IDs), and I would like to manage workflows for both. However, when configuring workflows, although both apps appear on the list for configuration at first, selecting and configuring the first will be the only app available, since after that, there's no way to add the other app. It looks like a bug, but I couldn't find any additional reports of this case while browsing the web.
Xcode will transfer the app to the iPhone, and I can run it on the iPhone, but the Xcode debugger fails to attach. I am using iPhone 14 Pro with iOS 18.6.
I've tried connecting via cable, also via network - same issue both ways.
The message raised by Xcode says:
Could not attach to pid: "6303"
Ensure “<a\AppName>” is not already running, and has permission to debug it.
I don't know how to determine if I have permission. I assume I do; I am the owner of the account, with admin role.
Yesterday I paid for my developer account the way I pay for Apple Music and iCloud every month. I received an email that the payment was successful. But my account still looks unpaid. Now if I try to click the renew active button in the Developer app I get a message that my developer account is already subscribed. Last time I was told in technical support that the payment was made for another developer account, but I paid for my account while logged in with my apple id. I ask you to resolve this issue so that my account becomes active.
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program