In WWDC25 Video "Explore localization with Xcode" they show how to use generated symbols from string catalogs. This is a great feature and I'd like to use it. However most of my code is split across smaller SPM packages.
In the video they say at 19:20:
Finally, generated symbols help you avoid boilerplate code in frameworks and packages.
I've been able to use the refactoring tool to convert strings from my catalog to use generated symbols. Afterwards the code doesn't compile anymore:
Type 'LocalizedStringResource' has no member ''
Unfortunately the video only showcases this for frameworks but not for packages. Since they clearly speak about packages I'd like to learn how to use the feature for my packages.
Xcode
RSS for tagBuild, test, and submit your app using Xcode, Apple's integrated development environment.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Seems like converting groups into folders looks like a great way to clear up the project file and reduce merge conflicts for large teams, started trying it today and it even lead us to find some untracked/unused files in the project. This structure also seems to be the default now after Xcode 16. The question is, are there any downsides to converting groups to folders, the one ones that come to mind is losing Xcode virtual file ordering, which is no biggie. If you have an "enterprise level app" would love to hear your experience if your team decided to convert to a folder structure.
Seems like converting groups into folders looks like a great way to clear up the project file and reduce merge conflicts for large teams, started trying it today and it even lead us to find some untracked/unused files in the project. This structure also seems to be the default now after Xcode 16. The question is, are there any downsides to converting groups to folders, the one ones that come to mind is losing Xcode virtual file ordering, which is no biggie. If your have an "enterprise level app" would love to hear your experience if your team decided to convert to a folder structure.
Hi,
When launching my app on the iOS 18 simulator using Xcode 26 beta, the app crashes immediately with a missing symbol error:
dyld[23801]: Symbol not found: _NSUserActivityTypeBrowsingWeb
Referenced from: <DDBF5C50-BD0E-34C7-B202-888033A93840> /Users/username/Library/Developer/CoreSimulator/Devices/058F6615-9288-4164-8736-53CBC962FFD4/data/Containers/Bundle/Application/95B984C9-3197-423C-860C-E714BA34ACCB/MyApp.app/MyApp.debug.dylib
Expected in: <443671DB-41AE-3963-8403-E4A484837405> /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreServices.framework/CoreServices
Symbol not found: _NSUserActivityTypeBrowsingWeb
Referenced from: <DDBF5C50-BD0E-34C7-B202-888033A93840> /Users/username/Library/Developer/CoreSimulator/Devices/058F6615-9288-4164-8736-53CBC962FFD4/data/Containers/Bundle/Application/95B984C9-3197-423C-860C-E714BA34ACCB/MyApp.app/MyApp.debug.dylib
Expected in: <443671DB-41AE-3963-8403-E4A484837405> /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreServices.framework/CoreServices
dyld config: DYLD_SHARED_CACHE_DIR=/Library/Developer/CoreSimulator/Caches/dyld/24F74/com.apple.CoreSimulator.SimRuntime.iOS-18-0.22A3351/ DYLD_ROOT_PATH=/Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot DYLD_LIBRARY_PATH=/Users/username/Library/Developer/Xcode/DerivedData/MyApp-dqwvveywparbascmmycuqktsiopv/Build/Products/Debug-iphonesimulator:/Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libLogRedirect.dylib:/Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libBacktraceRecording.dylib:/Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libMainThreadChecker.dylib:/usr/lib/libRPAC.dylib:/Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libViewDebuggerSupport.dylib:/System/Library/PrivateFrameworks/GPUToolsCapture.framework/GPUToolsCapture DYLD_FRAMEWORK_PATH=/Users/username/Library/Developer/Xcode/DerivedData/MyApp-dqwvveywparbascmmycuqktsiopv/Build/Products/Debug-iphonesimulator DYLD_FALLBACK_FRAMEWORK_PATH=/Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks DYLD_FALLBACK_LIBRARY_PATH=/Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/
Notes:
I have only tested on the iOS 18 simulator so far.
I have not yet tested on earlier iOS versions or physical devices.
The app runs fine on iOS 26 simulator using Xcode 26, so the crash seems specific to the iOS 18 simulator.
This looks like a system symbol that may not be linked properly in the iOS 18 simruntime.
Is this a known issue with the iOS 18 SDK or simulator runtime in Xcode 26 beta?
Thanks!
How do I make std::string look like a char array? The expression viewer for std::strings is horrible.
I'm running Xcode 16.3.
Below are the instructions from TN3187:
To configure your Info.plist for scene support, you should add a UIApplicationSceneManifest key with a scene configuration:
Open your Xcode project.
Select your app target.
Navigate to the General settings for your app target.
Enable the “Supports multiple windows” checkbox in the Deployment Info section. There is no checkbox - just an arrow that goes to the info tab
Edit the Info.plist file and add a UIApplicationSceneManifest key [example follows] Where is the Info.plist file and how do I edit it? - none shown
Topic:
Developer Tools & Services
SubTopic:
Xcode
Hi everyone,
I’ve been troubleshooting this for days — my app icon doesn’t show in the Simulator or TestFlight builds, despite what seems like a perfect setup.
✔️ What I’ve Already Verified:
AppIcon.appiconset includes all required PNGs (20x20 up to 1024x1024)
Contents.json is valid and complete (see attached)
Asset catalog folder is named AppIcon
Set correctly in Project > General > App Icon Source = "AppIcon"
Cleaned build folder, restarted Xcode, and tried on multiple simulators
Even used a fresh Xcode demo project — same result
🧪 Setup Details:
Xcode version: [replace with your version, e.g. 15.3]
iOS Deployment Target: [e.g. iOS 16.0]
App Type: SwiftUI
🔍 Screenshots Attached:
Assets.xcassets structure
Project > General tab (App Icon section)
Info.plist
Contents.json
Blank icon on simulator home screen
❓ Questions:
Could this be a metadata or cache corruption?
Is there a known issue with icons not rendering in recent Xcode builds?
Any workaround to force refresh the icon system?
Any help is deeply appreciated — thank you in advance!
Topic:
Developer Tools & Services
SubTopic:
Xcode
New betas of the platforms were released today (June 23), but I don't see any update for Xcode. Is there a way to get the Xcode 26 beta 1 to install the beta2 OSes for the simulator somehow? Or do we simply need to wait for an update?
Hi Apple Developer Community. I have a problem with opening my Xcode File in Xcode 16. It says, that a specific File is missing and I don't know how to resolve this. Can someone help me?
Thanks for the help :)
When the Icon Composer file is imported into the project folder, and after building, there is a warning that says:
Failed to parse icontool JSON output.
Parts of the warnings show this:
Entity: line 1: parser error : Start tag expected, '<' not found
\211PNG
^
Entity: line 1: parser error : Start tag expected, '<' not found
\211PNG
^
Entity: line 1: parser error : Start tag expected, '<' not found
\211PNG
^
/* com.apple.actool.notices */
warning: Failed to parse icontool JSON output.
Underlying Errors:
Description: The data couldn’t be read because it isn’t in the correct format.
Failure Reason: The data is not in the correct format.
Debug Description: Garbage at end around line 6, column 0.
/* com.apple.actool.compilation-results */
I have created the icon with png files in each layer group in icon composer.
However the project is able to compile, and running shows the correct icon.
What is the issue with this?
Using Xcode 26.0 beta (17A5241e)
Wanted to try out raw identifiers for Swift Testing tests, and while they work, syntax colorization is dreadful. Much less readable then just using a custom name with @Test.
Feedback: FB18260756
Example with a raw identifier of some example test name:
Xcode 16.4, MacOS Sequoia 15.5
If I try to use a logger in an Xcode Playground e.g.
import os
import UIKit
var logger = Logger(subsystem: "Loggertest", category: "")
logger.info("Hello, world!")
I get the following error
error: Couldn't look up symbols: ___dso_handle ___dso_handle Hint: The expression tried to call a function that is not present in the target, perhaps because it was optimized out by the compiler.
Its the logger.info ... that is causing the error.
I have raised FB18214090 but there are no other reports.
I would be grateful if some of you could verify if the Playground runs or errors on your system.
A workaround, still using Logger, would be a great help.
Thanks,
Chris
Topic:
Developer Tools & Services
SubTopic:
Xcode
Apple could not verify “iPad_Air_M2_26.0_23A5260n_Restore.ipsw” is free of malware that may harm your Mac or compromise your privacy.
xCode 26 fails to download simulators. I downloaded from the apple developer site. When I double click I get the above message. I went to the System Settings > GateKeeper, and selected Open Anyway.
This poped up a window with a button, Open in xCode-bata.
Clicking the button does not appear to do anything.
I can not use xcode without simulators.
I am developing an iPhone and watch app with xcode.
I bought a new Mac and when I tried to build it with xcode, I got the message
"/Users/watanabekensuke/TennisData/TennisDataMax/TennisDataMax Watch App/headlinea-regular.ttf lstat(/Users/watanabekensuke/TennisData/TennisDataMax/TennisDataMax Watch App/headlinea-regular.ttf): No such file or directory (2)"
and I couldn't build it. Can someone help me?
Topic:
Developer Tools & Services
SubTopic:
Xcode
Are there any details available on how Xcode 26 connects to third party model providers? For example, can Xcode only use OpenAI compatible API endpoints?
If I do this:
NSString *name = @"Jim";
NSMenuItem *menuItem = [[NSMenuItem alloc]init];
// Analyze does show localization warning when format string is used.
menuItem.title = [NSString stringWithFormat:@"Hello %@",name];
I expect to get the following warning:
User-facing text should use localized string macro
But I don't. However if I do this:
menuItem.title = @"What";
I do get the warning about localization as expected and as desired when I run Analyze. Is this considered a bug?
Thanks!
I am sort of trying to do the opposite of what others are doing. I have a target called CopyFramework that creates a CopyFramework.framework within my main xcproj file.
I set up this target because a specific framework (we can call it Tools.xcframework) is distributed as a binary. That framework file lives within the code.
Tools.xcframework is structured like so
Tools.xcframework (Coding/testBuild/DynamicToolFrameworks/Tools.xcframework)
info.plist
ios-arm64/
Tools.xcframework/
Tools (executable file)
Tools.bundle
Headers/
Info.plist
Modules/
Tools.swiftmodule/
arm64-apple-ios.abi.json
arm64-apple-ios.private.swiftinterface
arm64-apple-ios.swiftdoc
arm64-apple-ios.swiftinterface
module.modulemap
module.private.modulemap
PrivateHeaders/
ios-arm64_x86_64-simulator/
When the CopyFramework target is run xcode does a few steps which copy the correct version of this framework to derived data.
Process Tools.xcframework (iOS)
Coding/testBuild/DynamicToolFrameworks/Tools.xcframework
/Library/Developer/Xcode/DerivedData/testBuild-sha/Build/Products/Debug-iphoneos/Tools.framework ios
cd /Users/calebkierum/Coding/testBuild
builtin-process-xcframework --xcframework Coding/testBuild/DynamicToolFrameworks/Tools.xcframework --platform ios --target-path Library/Developer/Xcode/DerivedData/testBuild-sha/Build/Products/Debug-iphoneos
Meaning essentially that the Tools.xcframework for the proper platform is taken from Tools.xcframework/ios-arm64 and copied to Library/Developer/Xcode/DerivedData/testBuild-sha/Build/Products/Debug-iphoneos/Tools.xcframework
I am writing a Swift Package that needs to be able to reference the correct Tools.xcframework. I have set it up like so:
let package = Package(
name: "CoreObjC",
platforms: [.iOS(.v17), .macCatalyst(.v17)],
products: [
.library(name: "CoreObjC", targets: ["CoreObjC"]),
],
dependencies: [
// Does something to here ???
//.package(path: "../testBuild")
],
targets: [
.target(
name: "CoreObjC",
dependencies: [
// Here I would like to be referencing the CopyFramework.framework target within my buildTest.xcproj file
.product(name: "CopyFramework", package: /*??? its not in a swift package its a part of an xcproj file*/)
],
path: "CoreObjC",
publicHeadersPath: "Headers",
linkerSettings: [
.linkedFramework("Tools", .when(platforms: [.iOS])),
.linkedLibrary("c++")
]
),
],
cxxLanguageStandard: CXXLanguageStandard.gnucxx14
)
Now obviously this does not work. I do not know how to communicate to the Package.swift file that the binary dependency is a framework target within my xcproj file. If I do run the target CopyFramework followed by building CoreObjC it works though (so long as you comment out the bits trying to reference CopyFramework). Running the CopyFramework target processes the Tools.xcframework and copies the proper xcframework sub folder to Derived data and the Swift Package build system seems to be able to see it.
Is there a way I can get rid of this manual step? Make it so that when I build the CoreObjC target (swift package) that either CopyFramework is run or some other process is run to get the proper xcframework out of Coding/testBuild/DynamicToolFrameworks/Tools.xcframework and into DerivedData?
Is it even theoretically possible to have a Swift Package reference a target in a normal xcproj file?
I'm new to Apple Development. I've converted a python program to swift. The operator selects a top level folder and the program moves files in and out of subFolders within the selected folder. How do I resolve the Permissions errors whenever accessing subfolders?
Topic:
Developer Tools & Services
SubTopic:
Xcode
This week I update from Xcode 16.0 to Xcode 16.4.
Today I realized, that the Menu item "New Group without Folder" does no more appear, when I press the option key.
I tried to find an answer with DuckDuch Go and Chat GPT, but without success.
Can anyone help me, how to fix that issue?
Thanks a lot.
I am experimenting with Foundation Models using the new #Playground macro. It is pretty useful.
One thing I am finding though, is that the playground constantly executing is distracting, when I restructure my code and know that the intermediate results are broken and I don’t care about them.
I would like to disable the Playground, make some bigger code changes, and then enable Plaground again.
How do I enable and disable the Playground from constantly running?
Topic:
Developer Tools & Services
SubTopic:
Xcode