I am creating an AI powered mobile application for my university dissertation that utilises Google Gemini in order to generate tailored responses with a prerequisite prompt. In order to facilitate this, I use an API key which allows the communication to be made. I received an email upon archiving my application that informed me that:
ITMS-90683: Missing purpose string in Info.plist - Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “Amrit AI.app” bundle should contain a NSSpeechRecognitionUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required."
I have since made the adjustments to my info.plist by adding a description as to why the API key is being used. However, it still has not rectified the issue. I have contacted multiple apple support lines and none of them have been able to help with my error. I am under extreme pressure to upload this application to the App Store before my dissertation deadline as the reviews are critical to my evaluation section. Any help would be much appreciated.
Xcode
RSS for tagBuild, test, and submit your app using Xcode, Apple's integrated development environment.
Posts under Xcode tag
200 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
There's an easily reproducible SwiftUI bug on macOS where an app's UI state no longer updates/re-renders for "Designed for iPad" apps (i.e. ProcessInfo.processInfo.isiOSAppOnMac == true). The bug occurs in Xcode and also if the app is running independent of Xcode.
The bug occurs when:
the user Hides the app (i.e. it goes into the background)
the user puts the Mac to sleep (e.g. Apple menu > Sleep)
a total of ~60 seconds transpires (i.e. macOS puts the app into the "suspended state")
when the app is brought back into the foreground the UI no longer updates properly
The only way I have found to fix this is to manually open a new actual full app window via File > New, in which case the app works fine again in the new window.
The following extremely simple code in a default Xcode project illustrates the issue:
import SwiftUI
@main
struct staleApp: App {
@State private var isBright = true
var body: some Scene {
WindowGroup() {
ZStack {
(isBright ? Color.white : Color.black).ignoresSafeArea()
Button("TOGGLE") { isBright.toggle(); print("TAPPED") }
}
.onAppear { print("\(isBright ? "light" : "dark") view appeared") }
}
}
}
For the code above, after Hiding the app and putting the computer to sleep for 60 seconds or more, the button no longer swaps views, although the print statements still appear in the console upon tapping the button. Also, while in this buggy state, i can get the view to update to the current state (i.e. the view triggered by the last tap) by manually dragging the corner of the app window to resize the window. But after resizing, the view again does not update upon button tapping until I resize the window again.
so it appears the diff engine is mucked or that the Scene or WindowGroup are no longer correctly running on the main thread
I have tried rebuilding the entire view hierarchy by updating .id() on views but this approach does NOT work. I have tried many other options/hacks but have not been able to reset the 'view engine' other than opening a new window manually or by using: @Environment(.openWindow) private var openWindow
openWindow could be a viable solution except there's no way to programmatically close the old window for isiOSAppOnMac (@Environment(.dismissWindow) private var dismissWindow doesn't work for iOS)
I am developing iOS App using SwiftUI and I notice that Myanmar font of number text on 18.4 have clipped on top and bottom. Does anyone have this issues and know the fix? I have provided the Screenshot also.
Hi,
I am able to build my iOS app successfully, developed in objective-C with iOS 17.5 SDK and Xcode 15.
Due to requirement of Appstore we are trying to build with iOS 18 SDK and Xcode 16.
When building getting error in LAEnvironmentState.h file:
a) "Property requires field to be named"
b) "Expected member name or ';' after declaration specifiers"
Same app when opening with Xcode 15 gets build without any issue.
Any help/suggestion would be appreciated.
Within Xcode's settings location section is a drop down menu to switch between setting the derived data location to be default, relative or custom.
However its a global setting.
I work on more than one project simultaneously, and for one of them I want the location set to relative, but default for all the others.
Is there any way of achieving that?
Hey iOS Dev's,
I’m currently working on a Swift Package Manager (SPM) for WireGuard, originally developed by a previous team member. It was working fine in Xcode 15.2, but after upgrading to Xcode 16 and Swift 6, I need to update the SPM to ensure compatibility with my base projects and other projects relying on it.
With Apple making Xcode 16 mandatory for app submissions starting April 24, this has become an urgent issue. I’ve searched extensively but haven’t found a working solution yet.
Has anyone faced similar challenges with Swift 6 migration and SPM updates? Any insights, best practices, or debugging tips would be greatly appreciated!
Let’s connect and collaborate—I’d love to discuss possible solutions! 😊
#iOSDevelopment #Swift6 #Xcode16 #SPM #WireGuard #iOS #Swift #SoftwareEngineering #AppStore
Hi,
I'm using XCode 16 to connect my iPhone. Recently I'm getting an error as below while connecting to Xcode to install the app
Timeout while connecting to remote device.
Domain: com.apple.mobiledevice
Code: -402652910
User Info: {
DVTErrorCreationDateKey = "2025-04-02 15:03:29 +0000";
FunctionName = "_AMDeviceCreateWithRemoteDeviceWithError";
IDERunOperationFailingWorker = IDEInstallCoreDeviceWorker;
LineNumber = 334;
}
System Information
macOS Version 15.3.2 (Build 24D81)
Xcode 16.2 (23507) (Build 16C5032a)
Is there any way we can connect iOS 18 devices through USB only?
I updated to Xcode Version 16.3 (16E140) on macOS Sequoia 15.3.2 (24D81). I noticed the contextual menu is missing the Copy submenu. This submenu is accessible from the Main Menu under Edit menu.
You can see that the contextual menu is missing the Copy submenu, it was there prior to Xcode Version 16.3 (16E140).
Why was it removed? Could this Copy submenu be restored in future updates, please?
This code was compiling fine on Xcode 16.2
public var hasSecureHardware: Bool {
let isSimulator = TARGET_OS_SIMULATOR == 1
return !isSimulator && isAvailable
}
However, now the build breaks with the message:
Cannot find 'TARGET_OS_SIMULATOR' in scope
C++ code that compiled fine on Xcode 16.2 when targeting macOS 13.3 after upgrading to Xcode 16.3 gives an error that the minimum required target is macOS 13.4 with an error like:
`/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/c++/v1/__format/formatter_floating_point.h:74:30: error: 'to_chars' is unavailable: introduced in macOS 13.4 unknown 74 | to_chars_result __r = std::to_chars(__first, __last, __value, __fmt, __precision);
Here’s example taken directly from (https://en.cppreference.com/w/cpp/utility/format/format):
#include <format>
#include <iostream>
#include <string>
#include <string_view>
template<typename... Args>
std::string dyna_print(std::string_view rt_fmt_str, Args&&... args)
{
return std::vformat(rt_fmt_str, std::make_format_args(args...));
}
int main()
{
std::cout << std::format("Hello {}!\n", "world");
std::string fmt;
for (int i{}; i != 3; ++i)
{
fmt += "{} "; // constructs the formatting string
std::cout << fmt << " : ";
std::cout << dyna_print(fmt, "alpha", 'Z', 3.14, "unused");
std::cout << '\n';
}
}
It doesn’t make any sense to suddenly require targeting 13.4 for features that worked fine on 13.3. The Apple documentation for C++ feature support explicitly discusses 13.3. https://developer.apple.com/xcode/cpp/ (search for P0067R5 on the page)
I haven't tested it, but based on the standard library headers the minimum required iOS version has also been bumped - from 16.3 to 16.5.
Am I doing something wrong? Is there a known work-around?
Filed feedback: FB17081499
The code in my app is split into frameworks that I can use both from my main app and its app extensions. In order to use the frameworks inside the app extension, I need to build them with the Xcode build setting Require Only App-Extension-Safe API set to Yes.
When I do that, debugging framework code in my main app no longer works properly. I can set a breakpoint, but any attempt to print a value via p or po will give a set of errors like the following:
error: module file /Users/.../Library/Developer/Xcode/DerivedData/...-daqfgouagvlkudfebrmzrurogmld/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules/_errno-B8I5WSZMM09RXHYLYEWSC1BLE.pcm cannot be loaded due to a configuration mismatch with the current compilation
error: Objective-C App Extension was enabled in PCH file but is currently disabled
How do I fix this?
Hi,
I have been trying to integrate a CoreML model into Xcode. The model was made using tensorflow layers. I have included both the model info and a link to the app repository. I am mainly just really confused on why its not working. It seems to only be printing the result for case 1 (there are 4 cases labled, case 0, case 1, case 2, and case 3).
If someone could help work me through this error that would be great!
here is the link to the repository: https://github.com/ShivenKhurana1/Detect-to-Protect-App
this file with the model code is called SecondView.swift
and here is the model info:
Input: conv2d_input-> image (color 224x224)
Output: Identity -> MultiArray (Float32 1x4)
I am using HelloPhotogrammetry in Xcode
I can make one model with something like
HelloPhotogrammetry.main([path_to_folder_of images, path_to_output/model.usdz, "-d", "medium", "-o", "unordered", "-f", "high" ])
But how would I request several models simultaneously? I only want to vary the detail.
[
("/Users/you/Desktop/model_medium.usdz", detail: .medium),
("/Users/you/Desktop/model_full.usdz", detail: .full),
("/Users/you/Desktop/model_raw.usdz", detail: .raw
]
I have a macro that converts expression into a string literal, e.g.:
#toString(variable) -> "variable"
#toString(TypeName) -> "TypeName"
#toString(\TypeName.property) -> "property"
In Xcode 16.3 #toString(TypeName) stopped to work, compilation throws 'Expected member name or initializer call after type name' error.
Everything works fine in Xcode 16.2. I tried to compare build settings between 16.2 and 16.3 but haven't noticed differences that may cause this new error.
The following works in both Xcode versions:
#toString(variable) -> "variable"
#toString(\TypeName.property) -> "property"
Seems like Xcode tries to compile code that shouldn't be compiled because of macro expansion.
Does anybody know what new has appeared in 16.3 and, perhaps, how to fix the problem?
Hello,
We are facing deeplink related issue for our production app. In our finding, we got to know that issue is related to apple CDN caching, We have did the changes at our server level but still it is navigating to previous URL. Earlier deeplink was "https://bobcard.bobfinancial.com/dl" now it is changed to "https://linkdeep.bobcard.co.in/mapp". Please check and update this new one in apple cdn cache. For the new link it is redirecting to App store instead of App.
Below are the link through which we have tested deeplink scenario:
"https://app-site-association.cdn-apple.com/a/v1/bobcard.bobfinancial.com" working fine.
"https://app-site-association.cdn-apple.com/a/v1/linkdeep.bobcard.co.in" it is throwing not found error.
Upon updating to Xcode 16.3, my StoreKit2 unit testing suite encountered a malfunction.
let result = await product.purchase()
The code snippet above simply halts execution, preventing the task from progressing. In a regular environment, everything appear to function correctly.
Dare anyone try the following code in any Playground:
// Define a model that conforms to Codable
struct User: Codable {
var name: String
var age: Int
var email: String?
}
// JSON data (as a string for demonstration)
let jsonString = """
{
"name": "John Doe",
"age": 30,
"email": "john@example.com"
}
"""
// Convert the JSON string to Data
if let jsonData = jsonString.data(using: .utf8) {
do {
// Parse the JSON data into the User model
let user = try JSONDecoder().decode(User.self, from: jsonData)
print("Name: \(user.name), Age: \(user.age), Email: \(user.email ?? "N/A")")
} catch {
print("Error decoding JSON: \(error)")
}
}
I tested with Xcode 16.2 and latest 16.3, it reliably crashes the lldb server!
Unknown error from LeakAgent. errorStatus: 2
Domain: XRMemoryGraphDebuggerErrorDomain
Code: 5
User Info: {
DVTErrorCreationDateKey = "2025-04-01 02:49:23 +0000";
DVTRadarComponentKey = 637311;
}
Event Metadata: com.apple.dt.memory_graph_capture : {
"debugSession_coalescedState" = 1;
"debugSession_currentStackFrame" = "mach_msg2_trap";
"debugSession_currentThread" = "Thread 1";
"debugSession_isSynthetic" = 0;
"debugSession_state" = 1;
"device_identifier" = "00008110-000154D00EEB801E";
"device_isCoreDevice" = 1;
"device_model" = "iPhone14,2";
"device_osBuild" = "18.4 (22E240)";
"device_platform" = "com.apple.platform.iphoneos";
"device_thinningType" = "iPhone14,2";
"dvt_coredevice_version" = "443.19";
"dvt_coresimulator_version" = "1010.10";
"dvt_mobiledevice_version" = "1784.102.1";
"launchSession_schemeCommand" = Run;
"launchSession_state" = 2;
"launchSession_targetArch" = arm64;
"memgraphDebugger_duration_ms" = 0;
"memgraphDebugger_precedingCount" = 1;
"memgraphDebugger_status" = 5;
"param_debugger_attachToExtensions" = 0;
"param_debugger_attachToXPC" = 1;
"param_debugger_type" = 3;
"param_destination_isProxy" = 0;
"param_destination_platform" = "com.apple.platform.iphoneos";
"param_diag_113575882_enable" = 0;
"param_diag_MainThreadChecker_stopOnIssue" = 0;
"param_diag_MallocStackLogging_enableDuringAttach" = 0;
"param_diag_MallocStackLogging_enableForXPC" = 1;
"param_diag_allowLocationSimulation" = 1;
"param_diag_checker_tpc_enable" = 1;
"param_diag_gpu_frameCapture_enable" = 0;
"param_diag_gpu_shaderValidation_enable" = 0;
"param_diag_gpu_validation_enable" = 0;
"param_diag_guardMalloc_enable" = 0;
"param_diag_memoryGraphOnResourceException" = 0;
"param_diag_mtc_enable" = 1;
"param_diag_queueDebugging_enable" = 1;
"param_diag_runtimeProfile_generate" = 0;
"param_diag_sanitizer_asan_enable" = 0;
"param_diag_sanitizer_tsan_enable" = 0;
"param_diag_sanitizer_tsan_stopOnIssue" = 0;
"param_diag_sanitizer_ubsan_enable" = 0;
"param_diag_sanitizer_ubsan_stopOnIssue" = 0;
"param_diag_showNonLocalizedStrings" = 0;
"param_diag_viewDebugging_enabled" = 1;
"param_diag_viewDebugging_insertDylibOnLaunch" = 1;
"param_install_style" = 2;
"param_launcher_UID" = 2;
"param_launcher_allowDeviceSensorReplayData" = 0;
"param_launcher_kind" = 0;
"param_launcher_style" = 99;
"param_launcher_substyle" = 0;
"param_runnable_appExtensionHostRunMode" = 0;
"param_runnable_productType" = "com.apple.product-type.application";
"param_structuredConsoleMode" = 1;
"param_testing_launchedForTesting" = 0;
"param_testing_suppressSimulatorApp" = 0;
"param_testing_usingCLI" = 0;
"sdk_canonicalName" = "iphoneos18.4";
"sdk_osVersion" = "18.4";
"sdk_variant" = iphoneos;
}
System Information
macOS Version 15.3.2 (Build 24D81)
Xcode 16.3 (23785) (Build 16E140)
Timestamp: 2025-04-01T10:49:23+08:00
I'm having trouble with Xcode 16.2 when trying to pair or upload apps to my iPhone 16e running iOS 18.3. Interestingly, it works perfectly with older models like the iPhone 15 and 14, even though they’re on the same iOS version. When I attempt to install an app on my iPhone 16e via Xcode, I encounter this error:
The developer disk image could not be mounted on this device. (com.apple.dt. CoreDeviceError error 12040 (0x2F08))
DDIPath = /Library/Developer/DeveloperDiskImages/iOS_DDI. dmg
DeviceIdentifier = 42E4BEC2-3B1E -4903-9A29-CC5C6363F677
Options = {
MountedBundlePath = "file:///private/var/tmp/CoreDevice_DDI_Staging_501/42E4BEC2-3B1-4903-9A29-CC5C6363F677/*;
UseCredentials = 0;
}
NSURL = file:///Library/Developer/DeveloperDiskImages/iOS_DDI.dmg
ERROR:
Error mounting image: 0x800010f (kAMDMobileImageMounterPersonalizedBundleMissingVariantError: The bundle image is missing the requested variant for this device.) (com. apple,mobiledevice error -402652913 (OxE800010F))
FunctionName = AMDeviceRemoteMountPersonalizedBundle
LineNumber = 2145
ERROR:
Failed to initialize image properties: 0x800010f (kAMDMobileImageMounterPersonalizedBundleMissingVariantError: The bundle image is missing the requested variant for this device.) (com. apple.mobiledevice error -402652913 (0x800010F))
FunctionName = -[PersonalizedImage mountImage:]
LineNumber = 1816
ERROR:
Failed to find image for variant/identity: (variant: DeveloperDiskImage | boardID: 4 | chipID: 33088 | securityDomain: 1). (com.apple.mobiledevice error -402652913 (0xE800010F))
FunctionName = -[PersonalizedImage initializeImageProperties:]
LineNumber = 1063
When you have a mac, creating xcprivacy is pretty straightforward for your app, you simply use xcode, then select the sdks and target them and your privacy manifest is ready.
In the other hand, when you are using CI/CD solutions you might not use xcode direclty.
In that instance and if you are coding in flutter, you need to create your privacy manifest by hand.
I would like guidance how to write that file, I would it for a given third party SDK and where to put that file in the flutter project (just to be sure)
For example we choose the most important third party SDK manifest: FUTTER framework.
I keep getting errors about it for my app, got alot of builds get the INVALID BINARY error because of that, and my mails indicating me a problem with the manifest.
Please show me the source code of the manifest privacy for a project where a third party SDK is present (in particular: flutter sdk)
Thanks