Hi all,
I'm trying to add Spotlight support to a macOS app that handles custom virtual machine bundles with the .vpvm extension. I’ve followed the current documentation and used the modern CSImportExtension approach with a Spotlight Importer extension target.
Here’s what I’ve done:
App Info.plist:
Declared com.makeprog.vpvm as a UTI conforming to com.apple.package.
Registered it under UTExportedTypeDeclarations and CFBundleDocumentTypes.
Spotlight Importer Extension:
Added a new macOS target using the Spotlight Import Extension template.
Set the NSExtensionPointIdentifier to com.apple.spotlight.import.
Used CSSupportedContentTypes = com.makeprog.vpvm.
Implemented a minimal update(_ attributes:forFileAt:) method that sets displayName, title, and contentDescription.
Other steps:
Verified that the .appex is embedded under Contents/PlugIns/.
Confirmed it appears in mdimport -e output with correct UTI.
Used mdimport -m -d2 -t /path/to/file.vpvm, but I still get:
Imported '/path/to/file.vpvm' of type 'com.makeprog.vpvm' with no plugIn.
The extension is never invoked. I’ve also tried:
Ensuring the .vpvm file is a valid directory bundle.
Restarting Spotlight / rebuilding index.
Ensuring the app and extension are properly signed.
Tried installing the app in test virtual machine
Question:
Has anyone successfully used CSImportExtension for custom UTIs?
Is there something additional I need to do for the extension to be recognized and triggered?
Any advice or examples would be greatly appreciated!
Thanks in advance.
How did we do? We’d love to know your thoughts on this year’s conference. Take the survey here
General
RSS for tagDive into the vast array of tools and services available to developers.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Up to now I've been building my x64 binaries on Sequioa specifying a target macOS level of 13.4. That worked fine.
In an attempt to debug a problem that was causing some pain I created a 13.4 x64 build environment and tried to build the code there.
This code:
using CacheKeyType = std::filesystem::path;
using CacheValueType = std::tuple<LoadedImage, int, bool>; // <image, lastUse, currentlyLoading>
using CacheType = std::unordered_map<CacheKeyType, CacheValueType>;
friend class ThreadLoader;
static inline constexpr int16_t MAXIMAGESINCACHE = 20;
static inline constinit std::atomic_int age{ 0 };
static inline std::shared_mutex rwMutex{};
static inline CacheType imageCache{};
got me the following errors:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/__hash_table:838:5: error: static_assert failed due to requirement 'integral_constant<bool, false>::value' "the specified hash does not meet the Hash requirements"
static_assert(__check_hash_requirements<_Key, _Hash>::value,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/__hash_table:853:1: note: in instantiation of template class 'std::__enforce_unordered_container_requirements<std::filesystem::path, std::hash<std::filesystem::path>, std::equal_to<std::filesystem::path>>' requested here
typename __enforce_unordered_container_requirements<_Key, _Hash, _Equal>::type
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/unordered_map:1152:30: note: while substituting explicitly-specified template arguments into function template '__diagnose_unordered_container_requirements'
static_assert(sizeof(__diagnose_unordered_container_requirements<_Key, _Hash, _Pred>(0)), "");
^
/Users/amonra/.vs/DSS/build/DeepSkyStackerKernel/DeepSkyStackerKernel_autogen/EWIEGA46WW/../../../../DeepSkyStackerKernel/imageloader.h:60:26: note: in instantiation of member function 'std::unordered_map<std::filesystem::path, std::tuple<LoadedImage, int, bool>>::~unordered_map' requested here
static inline CacheType imageCache{};
^
2 errors generated.
Which isn't "mega-helpful" :(
I thought that specifying:
set(CMAKE_OSX_DEPLOYMENT_TARGET 13.4 CACHE STRING "Minimum operating system version for deployment" FORCE)
would have made the compilations use the same headers as for Ventura above, but it seems not?
Is this to be expected?
Topic:
Developer Tools & Services
SubTopic:
General
We're facing critical stability issues with a Xamarin-based iOS warehouse management app and need expert validation of our crash log analysis.
We’re seeing recurring issues related to:
Auto Layout Threading Violations
Memory Pressure Terminations
CPU Resource Usage Violations
These are causing app crashes and performance degradation in production. We've attached representative crash logs to this post.
Technical Validation Questions:
Do the crash logs point to app-level defects (e.g., threading/memory management), or could user behavior be a contributing factor?
Is ~1.8GB memory usage acceptable for enterprise apps on iOS, or does it breach platform best practices?
Do the threading violations suggest a fundamental architectural or concurrency design flaw in the codebase?
Would you classify these as enterprise-grade stability concerns requiring immediate architectural refactoring?
Do the memory logs indicate potential leaks, or are the spikes consistent with expected usage patterns under load?
Could resolving the threading violation eliminate or reduce the memory and CPU issues (i.e., a cascading failure)?
Are these issues rooted in Xamarin framework limitations, or do they point more toward app-specific implementation problems?
Documentation & UX Questions:
What Apple-recommended solutions exist for these specific issues? (e.g., memory management, thread safety, layout handling)
From your experience, how would these issues manifest for users? (e.g., crashes, slow performance, logout events, unresponsive UI, etc.
JetsamEvent-2025-05-27-123434_REDACTED.ips
)
WarehouseApp.iOS.cpu_resource-2025-05-30-142737_REDACTED.ips
WarehouseApp.iOS-2025-05-27-105134_REDACTED.ips
Any insights, analysis, or references would be incredibly helpful.
Thanks in advance!
Topic:
Developer Tools & Services
SubTopic:
General
Hello,
I've encountered unexpected behavior related to version information in our app logs, and I'd like to ask for some advice.
We reviewed logs collected from a user running our app (currently available on the App Store). The logs are designed to include both the build number and the app version.
Based on the build number in the logs, we believe the installed app version on the user's device is 1.0.3.
However, the app version recorded in the logs is 1.1.5, which is the latest version currently available on the App Store.
In our project, we set the app version using the MARKETING_VERSION environment variable.
This value is configured via XcodeGen, and we define it in a YAML file.
Under normal circumstances, the value defined in the YAML file (MARKETING_VERSION = 1.0.3) should be embedded in the app and reflected in the logs. But in this case, the version from the current App Store release (1.1.5) appears instead, which was unexpected.
We'd like to know what might cause this behavior, and if there are any known factors that could lead to this.
Also, is it possible that MARKETING_VERSION might somehow dynamically reflect the version currently available on the App Store?
yaml:
info.plist:
Hello,
I've encountered unexpected behavior related to version information in our app logs, and I'd like to ask for some advice.
We reviewed logs collected from a user running our app (currently available on the App Store). The logs are designed to include both the build number and the app version.
Based on the build number in the logs, we believe the installed app version on the user's device is 1.0.3.
However, the app version recorded in the logs is 1.1.5, which is the latest version currently available on the App Store.
In our project, we set the app version using the MARKETING_VERSION environment variable.
This value is configured via XcodeGen, and we define it in a YAML file.
Under normal circumstances, the value defined in the YAML file (MARKETING_VERSION = 1.0.3) should be embedded in the app and reflected in the logs. But in this case, the version from the current App Store release (1.1.5) appears instead, which was unexpected.
We'd like to know what might cause this behavior, and if there are any known factors that could lead to this.
Also, is it possible that MARKETING_VERSION might somehow dynamically reflect the version currently available on the App Store?
YAML:
info.plist:
I am a solo developer building a cross-platform voice assistant app using Capacitor (with HTML, JS) and Xcode for the iOS version. The app is called "Echo Eyes," and it already functions well as a Progressive Web App (PWA). However, the iOS build has been completely blocked due to persistent sandbox permission errors from macOS during the CocoaPods framework embedding phase.
This issue has caused severe disruption to my project and personal well-being, and I am writing to formally request assistance in identifying a clear solution. I am not a beginner and have followed all known best practices, forums, and Apple guidance without success.
What I’ve Built So Far:
Fully working PWA version of the app (voice input, HTML/JS interface)
Capacitor initialized with ID: com.echo.eyes.voice
Capacitor iOS platform added with CocoaPods
App runs fine until Xcode reaches: [CP] Embed Pods Frameworks
The Exact Problem:
Sandbox: bash(12319) deny(1) file-read-data /Users/Shared/projects/Echo_Mobile/ios/App/Pods/Target Support Files/Pods-App/Pods-App-frameworks.sh
Command PhaseScriptExecution failed with a nonzero exit code
Clarification:
This is not an HTML/JS issue. The failure occurs in Xcode long before web assets are embedded into the bundle. The shell script /Pods-App-frameworks.sh cannot be read due to macOS sandbox restrictions.
Everything I’ve Tried:
Gave Xcode and Terminal Full Disk Access
Ran: sudo xattr -rd com.apple.quarantine on the entire Pods directory
Added /bin/bash and /bin/sh to Full Disk Access (after confirming the exact shell via $SHELL)
Attempted to disable Gatekeeper via Terminal: sudo spctl --master-disable (confirmed not effective without GUI toggle)
Tried relocating project to /Users/Shared/projects/
Cleaned build folder, removed derived data, reinstalled pods
Debugged shell usage with: echo "▶️ Embedding under shell: $SHELL" in the [CP] Embed Pods Frameworks script
Attempted to grant shell access to Documents Folder, Desktop, and more via Files & Folders
Current State:
Despite following all known and recommended steps, Xcode continues to return the same sandbox error. The shell script that embeds the CocoaPod frameworks is denied permission to read its own contents by macOS.
What I Am Asking For:
Is this a known issue in current versions of macOS or Xcode regarding sandbox denial for shell execution inside Pods?
Is there a recommended method to grant /bin/bash or /bin/sh permission to read and run these scripts under Xcode without compromising system security?
Is moving the project outside /Users (e.g. to /Projects) the only real workaround?
Are there official Apple workarounds or entitlements available for developers encountering this?
Personal Note:
This issue has caused significant emotional and physical distress. I’m building this app as a personal healing tool and companion. I’ve poured months of work into this and done everything I can to follow Apple’s development guidelines.
I’m not asking for hand-holding — only a clear, respectful response confirming whether this is expected behavior and what can be done to resolve it.
Thank you for your time and understanding.
First time user here. Trying to build my React-Native app on xcode. I keep getting "Could not build Module" and "missing package product" and tried many combination for my Podfile.
I am on macbook pro M2, XCode version 16.2, building on iphone 16 v18.3.1. Pod version 1.16.2, react-native-cli:2.0.1,
Here is my Podfile. I tried to assign modular_headers to individual Firebase packages but then I cant pod install.
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
use_modular_headers!
platform :ios, '18.0'
prepare_react_native_project!
target 'plana' do
config = use_native_modules!
use_react_native!(
:path => config[:reactNativePath],
:fabric_enabled => false,
:app_path => "#{Pod::Config.instance.installation_root}/.."
)
post_install do |installer|
react_native_post_install(
installer,
config[:reactNativePath],
:mac_catalyst_enabled => false,
)
end
end
I am building an iOS app with the App ID: com.echo.eyes.app
I have a paid Apple Developer membership and have followed all correct procedures, including:
Adding com.apple.developer.speech-recognition manually to the App.entitlements file
Setting Info.plist keys for microphone and speech permissions
Assigning my Apple Developer Team to the project
Setting App/App.entitlements under Code Signing Entitlements
Despite all this, Xcode automatic signing fails, and I receive the error:
vbnet
Copy
Edit
Provisioning profile 'iOS Team Provisioning Profile: com.echo.eyes.app' doesn't include the com.apple.developer.speech-recognition entitlement.
I am unable to add the entitlement via the Capabilities section, and no method I try will allow provisioning to succeed.
Please update this App ID to include the required entitlement in the provisioning profile. This issue is preventing all voice recognition functionality.
Thank you.
I'm trying to create a new build from VSC through EAS (expo) but it's failing and returning the error I'm attaching.
I'm running the command eas build --profile preview --platform ios.
I have an "App Manager" account, my colleague has the same role and he can do builds normally.
I have other permissions and accesses ok, as can be seen in the attached picture, but apparently I have the issue in "register bundle identifier".
Does anyone faced the same issue? How can I solve this?
What step I'm missing?
Thanks in advance!
Hi,
I'm generating MusicKit JWT tokens on my backend side and using it on the client side to query the Apple Music API. One concern I have is accidentally over issuing the scope of this JWT, resulting in accidental access more services than intended like DeviceCheck or APNS.
Other than using separate keys for MusicKit and other services, is there a way to limit the generated JWT to only the Apple Music API (https://api.music.apple.com/v1/*) using the JWT payload scope?
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
Apple Music API
MusicKit
App Store Connect API
Has anyone here successfully set up macOS as a globally accessible, multiuser development server using native remote login (SSH) and VS Code Remote?
Is this a valid thing to include in the Info.plist file?
If so is a category of public.app-category.astronomyvalid? I couldn't find that, but the categories I did find seemed very limited.
Subject: Assistance Needed with Enabling Speech Recognition Entitlement for iOS App
Hi everyone,
I’m seeking guidance regarding the Speech Recognition entitlement for my iOS app using Capacitor. Our App and we submitted a request to Apple Developer Support four days ago, but have not yet received a response.
🧩 Summary of the issue:
Our app uses the Capacitor speech recognition plugin (@capacitor-community/speech-recognition) to listen for native voice input on iOS.
We have added both of the required keys in Info.plist:
NSSpeechRecognitionUsageDescription
NSMicrophoneUsageDescription
We previously had a duplicate microphone key, which caused the system to silently skip the permission request. After removing the duplicate, we did briefly see the microphone permission prompt appear.
However, in our most recent builds, the app launches without any prompts, even on a fresh install. The plugin reports:
available = true
permissionStatus = granted
Despite this, no speech input is ever received, and the listener returns nothing.
We believe the app is functioning correctly at a code level (plugin loads, no errors, correct Info.plist), but suspect the missing Speech Recognition entitlement is blocking actual access to the speech system.
🔎 What we need help with:
How can we confirm whether the Speech Recognition entitlement is enabled for our App ID?
If it’s not enabled, is there a way to escalate or re-submit the request? Our app is currently stuck until this entitlement is granted.
Thank you for your time and any guidance you can offer!
"UITests recording reports 'The capability "Create Service Socket" is not supported by this device.' on M1 chip, but works normally on Intel chip."
Hi, I’m currently developing a watchOS app and ran into an issue where I can’t enable Developer Mode on my Apple Watch.
Device info:
Apple Watch Series 9 (watchOS 10.4)
Paired with iPhone 14 Pro (iOS 17.4.1)
Xcode 15.3 (macOS 15.5, Apple Silicon)
Issue:
When I try to run the app on my physical watch device, Xcode prompts that Developer Mode needs to be enabled. However, there is no approval request on the Apple Watch, and no Developer Mode option appears under Settings → Privacy & Security.
I’ve already tried the following:
Rebooting both devices
Unpairing and re-pairing the watch
Erasing and setting up the watch again
Signing out and back into my Apple ID
Using the latest Xcode version (15.3 and 16.3 both tested)
Running clean builds and checking provisioning profiles
Attempting install via both simulator and physical device
Still no luck — the app will not launch on the Apple Watch due to Developer Mode being disabled, and the option is missing entirely from Settings.
I visited an Apple Store Genius Bar, but they couldn’t help and told me to contact Developer Support. I’ve already submitted a support request, but in the meantime I wanted to ask here in case anyone else has experienced this and found a workaround.
Thanks in advance.
I'm a newbie to on-demand resources and I feel like I'm missing something very obvious. I've successfully tagged and set up ODR in my Xcode project, but now I want to upload the assets to my own server so I can retrieve them from within the app, and I can't figure out how to export the files I need.
I'm following the ODR Guide and I'm stuck at Step #4, after I've selected my archive in the Archives window it says to "Click the Export button", but this is what I see:
As shown in the screenshot, there is no export button visible. I have tried different approaches, including distributing to appstore connect, and doing a local development release. The best I've been able to do is find a .assetpack folder inside the archive package through the finder, but uploading that, or the asset.car inside it, just gives me a "cannot parse response" error from the ODR loading code. I've verified I uploaded those to the correct URL.
Can anyone walk me through how to save out the file(s) I need, in a form I can just upload to my server?
Thanks,
Pete
如何在没有电脑的情况下启用开发者模式
please reply me in Chinese
Hello Team!
Recently we cleaned up profiles and renewed certificates under developer account, noticing profile expiration date showing invalid, it supposed to show certificate expiration date. Due to this I am not able to update or download profiles. Any one experienced this this? what would be the solution?.
Thanks,
Kumar.
Topic:
Developer Tools & Services
SubTopic:
General
Hello,
I'm developing a macOS application that uses the Virtualization framework to run Linux virtual machines (specifically Ubuntu and Fedora) on Apple Silicon Macs.
I've noticed that while the macOS host properly supports all trackpad gestures, the two-finger tap gesture for right-click does not work within the Linux guest. Only the primary click is recognized. This behavior is consistent across different Linux distributions and desktop environments (GNOME, KDE, etc.).
I would like to confirm:
Is the macOS Virtualization framework expected to support trackpad gestures such as two-finger tap for right-click within Linux guest VMs?
If not currently supported, is there a known workaround to enable right-click functionality for the trackpad in Linux guests? (e.g., configuration changes in the VM, Linux kernel input modules, or framework-level adjustments.)
Any insights or suggestions would be greatly appreciated.
Thank you!
Hello,
I recently enrolled in the Apple Developer Program and created an App ID with the bundle ID com.echo.eyes.voice.
I am trying to enable Speech Recognition in the App ID capabilities list, but the option does not appear — even after waiting over a week since my membership was activated.
I’ve already:
Confirmed my Apple Developer account is active
Checked the Identifiers section in the Developer portal
Tried editing the App ID, but Speech Recognition is not listed
Contacted both Developer Support and Developer Technical Support (Case #102594089120), but was told to post here for help
My app uses Capacitor + the @capacitor-community/speech-recognition plugin. I need the com.apple.developer.speech-recognition entitlement to appear so I can use native voice input in iOS.
I would really appreciate help from an Apple engineer or anyone who has faced this issue.
Thank you,
— Daniel Colyer