Posts under Developer Tools & Services topic

Post

Replies

Boosts

Views

Activity

A Summary of the WWDC25 Group Lab - Developer Tools
At WWDC25 we launched a new type of Lab event for the developer community - Group Labs. A Group Lab is a panel Q&A designed for a large audience of developers. Group Labs are a unique opportunity for the community to submit questions directly to a panel of Apple engineers and designers. Here are the highlights from the WWDC25 Group Lab for Developer Tools. Will my project codebase be used for training when I use Xcode's intelligent assistant powered by cloud-based models? When using ChatGPT without logging in, your data will not be used to improve any models. If you log in to a ChatGPT account, this is based on your ChatGPT account settings, which allows you to opt-out (it defaults to on). When using Xcode with accounts for other model providers, you should check with the policies of your provider. And finally, at no point will any portion of your codebase be used to train or improve any Apple models. We'd love to make our SwiftUI Previews (and soon, Playgrounds) as snappy as possible. Is there any way to skip certain build steps, such as running linters? It seems the build environment is exactly the same (compared to a debug build), but maybe there's a trick. Starting with Xcode 16, SwiftUI previews use the exact same build artifacts as the regular build. The new Playgrounds support in Xcode 26 uses these build artifacts too. Shell script build phases are the most common thing that introduces extra build time, so as a first step, try turning off all shell script build phases (like linters) to get an idea if that’s the issue. If those build phases add significant time to your build, consider moving some of those phases into asynchronous steps, such as running linters before committing instead of on every build. If you do need a shell script build phase to run during your build, make sure to explicitly define the input and output files, as that is a huge way to improve your build performance. Are we able to provide additional context for the models, like coding standards? Documentation for third party dependencies? Documentation on your own codebase that explains things like architecture and more? In general, Xcode will automatically search for the right context based on the question and the evolving answer, as the model can interact multiple times with your project as it develops an answer. This will automatically pick up the coding style of the code it sees, and can include files that contain architecture comments, etc. Beyond automatic context, you can manually attach other documents, even if they aren't in your project. For example, you could make a file with rules and ideas and attach it, and it will influence the response. We are very aware of other kinds of automatic context like rule files, etc, though Xcode does not support these at this time. Once ChatGPT is enabled for Coding Intelligence in Xcode 26, and I sign into my existing ChatGPT account, will the ChatGPT Coding Intelligence model in Xcode know about chat conversations on Xcode development done previously in the ChatGPT Mac app? Xcode does not use information from other conversations, and conversations started in Xcode are not accessible in the web UI or ChatGPT app. Is there a plan to make SwiftUI views easier to locate and understand in the view hierarchy like UIKit views? SwiftUI uses a declarative paradigm to define your user interface. That allows you to specify what you want, with the system translating that into an efficient representation at runtime. Unlike traditional AppKit and UIKit, seeing the runtime representation of SwiftUI views isn't sufficient in order to understand why it's not doing what you want. This year, we introduced a SwiftUI Instrument that shows why things are happening, like view re-rendering. Is it possible to use the AI chat with ChatGPT Enterprise? My company doesn't allow us to use the general ChatGPT, only the enterprise version they have setup that prevents data from being leaked Yes, Xcode 26 supports logging into any existing ChatGPT account, including enterprise accounts. If that does not meet your needs, you can also setup a local server that implements the popular chat completions REST API to talk to your enterprise account how you need. Now that Icon Composer is here, how does it complement or replace existing vector design tools such as Sketch for icon design? Icon Composer complements your existing vector design tools. You should continue to create your shapes, gradients, and layers in another tool like Sketch, and compose the exported SVG layers in Icon Composer. Once you bring your layers into Icon Composer, you can then use it to influence the translucency, blur, and specular highlights for your icon. What’s one feature or improvement in the new Xcode that you personally think developers will love, but might not immediately discover? Maybe something tucked away or quietly powerful that’s flown under the radar so far? One feature we're particularly excited about is the new power profiler for iOS, which gives you further insights into the energy consumption of your app beyond what was possible with the energy instrument previously. You can learn more about how to use this instrument and how it can help you greatly reduce your apps battery usage in the documentation, as well as the session Profile and optimize power usage in your app. There were also improvements in accessibility this year with Voice Control, where you can naturally speak your Swift code to Xcode, and it understands the Swift syntax as you speak. To see it in action, take a look at the demonstration in What’s new in Xcode 26. We have a software advisory council that is very sensitive to having our private information going to the cloud in any form. What information do you have to help me guide Xcode and Apple Intelligence through the acceptance process? One thing you can do is configure a proxy for your enterprise that implementing the popular Chat Completions API endpoint protocol. When using a model provider via URL, you can use your proxy endpoint to inspect the network traffic for anything that you do not want sent outside of your enterprise, and then forward the traffic through the proxy to your chosen model provider. Are there list of recommended LLMs to use with Xcode via Intelligence/Local? I've tried Gemma3-12B, but.. I hope there are better options? Apple doesn't have a published list of recommended local models. This is a fast-moving space, and so a recommendation would become out of date very quickly as new models are released. We encourage you to try out the local model support in Xcode 26 with models that you find meet your needs, and let us and the community know! (continued below)
1
0
839
Jul ’25
Debugger breakpoints not hitting since updating to macOS 26.1
Hi, I have started facing an issue with Xcode since updating to macOS 26.1. The debugger is not stopping at breakpoints in Objective-C code, however breakpoints in Swift file are working fine. I am using Xcode 16.4. For breakpoints in Objective-C files I have started to get this message since the OS update - 'Xcode won't pause at this breakpoint because it has not been resolved.' I have already tried cleaning derived data and build folder. I do not want to upgrade to Xcode 26. Could someone help with the fix? Thanks
0
0
8
1h
WeatherKit: WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors Code=2 on iOS 26.2 (Simulator & Device)
Hello everyone, I’m experiencing a WeatherKit issue that occurs consistently on both the iOS 26.2 Simulator and a real device running iOS 26.2. Environment: Xcode: latest iOS: 26.2 Occurs on: Simulator AND physical device WeatherKit usage: via WeatherService API (not manual REST) Location Services: authorized (When In Use / Always) Issue: WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors Code=2 "The operation couldn’t be completed." Already verified: WeatherKit capability is enabled for the App ID com.apple.developer.weatherkit entitlement is present Bundle ID matches the App ID App is signed with the correct Team ID Behavior is identical on Simulator and physical device Error occurs before any WeatherKit response is returned Questions: Is this a known issue with WeatherKit on iOS 26.2? Are there any known limitations or requirements for WeatherService related to WeatherDaemon validation? Is there a recommended way to diagnose why WeatherDaemon rejects the request with Code=2? Code: private let weatherService = WeatherService()
0
0
45
17h
Building with Xcode on macOS Tahoe does not launch in iOS 12
When trying to launch an app built with Xcode in iOS12, differences occur depending on the macOS version on which Xcode is installed. When building with Xcode 26.2 (or Xcode 16.4) installed on macOS Sequoia, installing it on iOS 12 and tapping the app icon launches the app. When building with Xcode 26.2 (or Xcode 16.4) installed on macOS Tahoe, installing it on iOS 12 and tapping the app icon does not launch the app. The following log was displayed upon launch: Dec 15 11:46:35 xxx assertiond[58] <Notice>: Submitting new job for "com.xxx.sample" on behalf of <BKProcess: 0x10151a710; SpringBoard; com.apple.springboard; pid: 48; agency: SystemShell; visibility: foreground; task: running> Dec 15 11:46:35 xxx assertiond[58] <Notice>: Submitted job with label: UIKitApplication:com.xxx.sample[0x2dfd][58] Dec 15 11:46:35 xxx assertiond[58] <Notice>: Unable to get pid for 'UIKitApplication:com.xxx.sample[0x2dfd][58]': No such process (3) The same issue occurs with both .app and .ipa. I would like to know the technical reason behind this, if anyone knows, please let me know.
0
0
45
21h
Xcode Intelligence AI feature seems to fail on slow networks
Intelligence AI powered feature fails on complex project with network error when “Reasoning” is set higher then “Low”. The visual feedback shows sending some context and answer being generated, but eventually stops with network error. Retries with “Reasoning” set higher than “Low”. won’t help, but retries or same queries with “Low” or "Minimal" reasoning always succeed. It is obvious that connectivity is not lost but looks like some kind of timeout expires and cancels the response, even not the request. Visual feedback shows the context being successfully uploaded and even shows the indicator of the answer being generated.
0
0
80
1d
No output appears on tvOS simulator when creating a new game project Xcode 26.2
When I create a new tvOS game and run the default project the simulator window appears but nothing is shown. When I create a MultiPlatform Game project and run the demo project for AppleTV the simulator work correctly. I do not get any errors just a blank screen. Also clicking on the Home icon in the simulator or the actual AppleTV does nothing. Drew
0
0
107
2d
Xcode Playgrounds crashes upon microphone access
Sorry if this is a dumb question. I’m still a beginner. I created an Xcode Playground app with Microphone and Speech Recognition capabilities enabled, along with a backup Info.plist. However, when running the app on Mac Catalyst, a real device, or the iOS and iPadOS simulators, it crashes right after the Speech Recognition permission popup and again after the Microphone permission popup. For extra context, the app initially worked fine in the Swift Playgrounds app, but that environment uses an outdated SDK, so it no longer supports some of the features I’ve implemented. I’m also struggling to find clear, beginner-friendly documentation that explains how AVAudioEngine works, which is making it hard to understand what’s going wrong and how to debug it.
0
1
95
2d
We will prove our innocence with our lives.
We are Chengdu Wang Lida Technology Co., Ltd.. Over the past year, we invested tremendous time, effort, and resources to successfully launch our app on the App Store. However, despite spending a full year developing and finally getting our app approved, just one month after its launch, we suddenly received an email notifying us that our developer account had been suspended for one year due to a violation of Section 3.2(f) (fraudulent behavior). We are deeply confused and disappointed. As developers, we have never engaged in any fraudulent or misleading activities. We have always operated in full compliance with Apple’s Developer Program Agreement and platform guidelines. Our question is: who would deliberately engage in fraudulent behavior after spending an entire year developing and launching an app? What’s even more heart-wrenching is the impact this decision has had on our team. Due to the overwhelming pressure, our project leader suffered a sudden heart attack and was rushed to the ICU. As team members, we are devastated and feel the immense psychological and emotional toll this account suspension has caused. We are now calling on the Apple community and Apple Inc. to help us clarify this misunderstanding and resolve the issue. We firmly believe that such an arbitrary and unfounded account suspension decision should not be made. As developers, we should have the opportunity to communicate and clarify before such drastic actions are taken. We will be filing complaints against Apple’s inexplicable account suspension both on the developer forums and in the media. We will fight this inequality with all we have, and stand for fairness and justice. We are more than willing to cooperate with Apple, providing all the necessary evidence and data to prove that our actions were fully compliant. We sincerely request that Apple review our case and provide a reasonable explanation and solution. As a small development team, we have invested all of our money and effort into this app. It is not just our job; it is our dream. We cannot accept seeing our hard work destroyed by such a misunderstanding. We will continue to fight for fairness and justice, and we hope for a fair resolution. Thank you for your attention and support. We will continue to pursue all legal channels to ensure that our team and our product get the rights they deserve.
2
0
139
2d
Initial stack construction
I'm having problems constructing the initial stack for the guest executable for Valgrind on macOS 12 Intel. This seemed to work OK for macOS 11 but I'm getting a bad 'apple' pointer on macOS 12. The stack (constructed by Valgrind) looks like this higher address +-----------------+ <- clstack_end | | : string table : | | +-----------------+ | NULL | +-----------------+ | executable_path | (first arg to execve()) +-----------------+ | NULL | - - | envp | +-----------------+ | NULL | - - | argv | +-----------------+ | argc | +-----------------+ | mach_header * | (dynamic only) lower address +-----------------+ <- sp | undefined | : : The problem that I'm having is with the executable path (or the apple pointer). This points to NULL. The actual pointer to the "executable=xxx" string is 16 bytes lower in memory. The code for main starts with Dump of assembler code for function main: 0x0000000100003a90 <+0>: push %rbp 0x0000000100003a91 <+1>: mov %rsp,%rbp 0x0000000100003a94 <+4>: sub $0x60,%rsp 0x0000000100003a98 <+8>: movl $0x0,-0x4(%rbp) 0x0000000100003a9f <+15>: mov %edi,-0x8(%rbp) 0x0000000100003aa2 <+18>: mov %rsi,-0x10(%rbp) 0x0000000100003aa6 <+22>: mov %rdx,-0x18(%rbp) 0x0000000100003aaa <+26>: mov %rcx,-0x20(%rbp) That's the prefix, making space for locals, setting a local variable to 0 then getting the 4 arguments from main in edi, rsi, rdx and rcx as per the SYSV amd64 ABI. I think that it is dyld that puts the apple pointer into rcx. Can anyone tall me how dyld works out the address of the apple pointer?
1
0
80
3d
Promotional Offer keeps returning Contact Developer (Error code: 3903)
I am trying to add promotional offers in my iOS App. The signature is being verified through a google cloud function. My user id, signature, and product and offerIds return perfect. Promotional offer appears in the payment sheet as well. When applying for payment, the "ding" sound comes as well. But then I get the UIAlert with Unable to Purchase Contact developer. Error code in logs is 3903
0
0
41
3d
pthread_cond_timedwait problem
I'm trying to debug an issue with the Valgrind tool Helgrind. This is on masOS 11 (I've also seen it on 12, probably the same for other macOS versions). Here is the testcase. #include <pthread.h> #include <string.h> #include <assert.h> #include <errno.h> int main(void) { pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; pthread_cond_t cond = PTHREAD_COND_INITIALIZER; int res; // This time has most definitely passed already. (Epoch) struct timespec now; memset(&now, 0, sizeof(now)); res = pthread_mutex_lock(&mutex); assert(res == 0); res = pthread_cond_timedwait(&cond, &mutex, &now); assert(res == ETIMEDOUT); res = pthread_mutex_unlock(&mutex); assert(res == 0); res = pthread_mutex_destroy(&mutex); assert(res == 0); res = pthread_cond_destroy(&cond); assert(res == 0); } The error that I'm getting from Helgrind is ==56754== Thread #1 unlocked a not-locked lock at 0x1048C7A08 ==56754== at 0x10020E2F9: mutex_unlock_WRK (hg_intercepts.c:1255) ==56754== by 0x10020E278: pthread_mutex_unlock (hg_intercepts.c:1278) ==56754== by 0x7FF80F526813: _pthread_cond_wait (in /usr/lib/system/libsystem_pthread.dylib) ==56754== by 0x10020E812: pthread_cond_timedwait_WRK (hg_intercepts.c:1465) ==56754== by 0x10020E6A8: pthread_cond_timedwait (hg_intercepts.c:1512) ==56754== by 0x100003DD2: main (cond_timedwait_test.c:18) ==56754== Lock at 0x1048C7A08 was first observed ==56754== at 0x10020DE91: mutex_lock_WRK (hg_intercepts.c:1009) ==56754== by 0x10020DD68: pthread_mutex_lock (hg_intercepts.c:1031) ==56754== by 0x100003D7D: main (cond_timedwait_test.c:16) ==56754== Address 0x1048c7a08 is on thread #1's stack ==56754== in frame #5, created by main (cond_timedwait_test.c:7) If I turn on extra tracing then on FreeBSD the Helgrind pthread traces correspond to the C source. On macOS I see an extra mutex. << pthread_mxlock 0x7ff850c41 :: mxlock -> 0 >> << pthread_mxunlk 0x7ff850c41 :: mxunlk -> 0 >> ^^ I don't know what this mutex is << pthread_mxlock 0x1048c7a08 :: mxlock -> 0 >> ^^ this is the user mutex << pthread_mxlock 0x7ff850c41 :: mxlock -> 0 >> << pthread_cond_timedwait 0x1048c79d8 0x1048c7a08 0x1048c79c0<< pthread_mxunlk 0x7ff850c41 :: mxunlk -> 0 >> ^^ pthread_cond_timedwait unlocking the non-user mutex << pthread_mxlock 0x7ff850c41 :: mxlock -> 0 >> << pthread_mxunlk 0x7ff850c41 :: mxunlk -> 0 >> << pthread_mxunlk 0x1048c7a08 [error here] :: mxunlk -> 0 >> << pthread_mxlock 0x1048c7a08 :: mxlock -> 0 >> << pthread_mxlock 0x7ff850c41 :: mxlock -> 0 >> cotimedwait -> 60 >> In these traces the "-> 0" is the return code, showing that all of the calls succeeded. I need to do more debugging inside Helgrind. In the traces above I only see the user mutex being locked and then unlocked. Can anyone explain why I'm seeing an extra mutex in there? I'll have a poke around the XNU source
0
0
32
4d
DesktopServicesHelper appears to delete or unlink the source file before the ESF auth event deadline is reached, rather than waiting for the full deadline window.
On macOS Tahoe, our application using the Endpoint Security Framework (ESF) observes that during file copies through finder application, DesktopServicesHelper unlinks the source file if the ESF authorization response is delayed for ~5 seconds, even though the authorization event deadline remains 15 seconds, indicating that the process does not wait for the full ESF deadline before deleting the file. Before Tahoe, we didnt see this behaviour.
0
1
46
4d
ATS doesn't download AirPlay Diagnostic profile
I need to install the AirPlay profile on an iphone to watch decrypted traffic in ATS for development work on CarPlay. The documentation for ATS says to click "Utilities -> Download Profiles -> AirPlay Diagnostic Mode". When I do this, it brings up a file dialog, presumably to select a location to download. But nothing happens. The other profiles launch a web browser and download the .mobileconfig profile. How do I get the AirPlay profile? Am I misunderstanding how this is supposed to work? I found ATSAssetsInfoDefault.plist which references these files. And they all have https://developer.apple.com/services-account/download?path=/iOS/iOS_Logs/... except the AirPlay profile, which is type "slug" and just says ats-airplay-diagnostic-mode-profile. Is this a bug in the app?
0
0
32
3d
Swift Playground Assets missing??
I’m seeing what looks like a change or possible bug in Xcode when creating a new Swift Playground. When I create a Swift Playground using Xcode (File → New → Playground), the project is generated without an Assets folder. I’ve reproduced this multiple times with fresh Playgrounds to rule out user error and the folder is consistently missing. Previously, new Playgrounds included an Assets catalog by default, which makes this behavior surprising.
0
0
92
4d