I have static libraries and headers of a C++ project that I believe are correctly built for iOS and iOS Simulator destinations. The C++ project is built via CMake with something like:
cmake dirName \
-G "Unix Makefiles" \
-B buildDir \
-DCMAKE_INSTALL_PREFIX=installDir \
-DCMAKE_SYSTEM_NAME=iOS \
-DCMAKE_SYSTEM_PROCESSOR=arm64 \
-DCMAKE_OSX_ARCHITECTURES=arm64 \
-DCMAKE_OSX_SYSROOT=$(xcrun --sdk iphonesimulator --show-sdk-path) \
-DCMAKE_OSX_DEPLOYMENT_TARGET=15.0
...
cmake --build buildDir --config Release --target install
I believe those are all the important parameters. This gives me a static library (.a) and headers that I believe should be compatible with arm64 iOS simulators, and I do this same thing for x86_64 architecture with simulators and for actual iOS non-simulator via the iphoneos SDK path.
I'm pretty sure this gives me the correct static lib and headers. Let's assume it does because I'm not able actually create the XCFramework to know if they're right. This does work with a macOS lib and headers, but I need iOS for this library. How do I package this into an XCFramework now?
This Apple developer articles says I should be a able to create an xcframework via xcodebuild -create-xcframework -library libName.a -headers include but when I try to do this with my my iOS arm64 simulator static lib I get:
error: binaries with multiple platforms are not supported '/Users/.../install/ios-arm64-simulator/libName.a
But, when I run: lips -info libName.a I get Non-fat file libName.a is architecture arm64, so, I'm not sure what to do here. Trying to extract arm64 from that static library also produces an error as it it is just an arm64 lib.
I'm not really sure what's going on, but from reading online this specific command, xcodebuild -create-xcframework is a consistent pain point in the process of trying to get an XCFramework, and the seemingly only workaround is to archive a framework project and then create the xcframework via xcodebuild -create-xcframework -archive MyFramework.xcarchive -framework[or -library].
However, how am I supposed to get this static lib and headers into a suitable xcodeproj so that I can archive it correctly? Everytime I try to copy the headers and static lib into the Framework xcodeproj and set what I believe are all the correct settings, my .xcarchive is always empty.
Does anyone have any advice here on how to get this to work?
The main impetus for trying to get this C++ static lib and headers into an XCFramework as that seems like the only valid way to link a 3rd party C++ lib to an SPM package and have the C++ package be interfaceable with Swift.
Frameworks
RSS for tagAsk questions about APIs that can drive features in your apps.
Posts under Frameworks tag
200 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
在使用xcode15.2与iOS14.2版本的手机进行调试时,发现OC编译的sdk无法正常传输数据给swift编写的项目。当我的手机连接xcode调试的时候,数据能够正常传输、转换。当我断开手机与xcode的连接的时候,就无法正常获取数据了。而这个问题目前我只发现在iOS14.2中。当我使用iOS17与iOS18手机调试时没有出现这个问题。请问有没有人遇到过相似的问题。
Given Apple's new .limited contact authorization introduced in ios18, I want to be able to present the ContactAccessPicker directly from my app, via ionic capacitor. I present the .contactAccessPicker view via a UIHostingController, and I manage the view controller's dismissal accordingly when the ContactAccessPicker completes and is no longer presented.
Bug: After a few searches or interactions with the Contact Access Picker (ex. searching, selecting contacts, clicking the "show selected" button), the contact access picker crashes and the overlay remains. Any interaction with my app is then blocked because I can't detect that the contact access picker has disappeared when it crashes so I can't dismiss the viewController.
Is there a way for me to prevent the contact access picker from crashing, and how can I detect if it does crash, so I can at least dismiss the view controller if that happens?
struct ContactAccessPickerView: View {
@Binding var isPresented: Bool
let completion: @MainActor ([String]) -> Void
var body: some View {
Group {
if #available(iOS 18.0, *) {
Color.clear
.contactAccessPicker(isPresented: $isPresented) { result in
Task { @MainActor in
completion(result)
}
}
} else {
}
}
}
}
@objc func selectMoreContacts(_ call: CAPPluginCall) {
guard isContactsPermissionGranted() else {
call.resolve(["success": false])
return
}
// Save the call to ensure it's available until we finish
self.bridge?.saveCall(call)
DispatchQueue.main.async { [weak self] in
guard let self = self else { return }
var isPresented = true
let picker = ContactAccessPickerView(isPresented: .init(get: { isPresented }, set: { isPresented = $0 })) { contacts in
call.resolve(["success": true])
self.dismissAndCleanup(call)
}
let hostingController = UIHostingController(rootView: picker)
hostingController.modalPresentationStyle = .overFullScreen
self.bridge?.viewController?.present(hostingController, animated: true)
}
}
Recently we started facing BLE disconnect issues between our BLE peripheral (microphone) and iOS app that we're having trouble solving.
iOS App: Ionic Capacitor using @capacitor-community/bluetooth-le
Microphone Peripheral: esp32 board using ESP-IDF Apache NimBLE stack
App use case:
Our app records a sound clip using the BLE microphone and sends data via a characteristic. The sound clip is broken up into several packets and all sent over ( over 1600 packets ). The microphone has an antenna and boosted signal as well.
The Issue:
Recently, we've been facing consistent disconnects between the microphone and the iOS app that we think we've narrowed down to the iOS device is disconnecting due to too many dropped packets. It seems the phone can't get further than roughly 10 feet before we see packet loss. Up until recently we had little to no range issues with transferring data and settings disconnected from the microphone while being much further away. Nothing has changed on our end on either the app or microphone firmware side.
We use the same microphone firmware and app on Android and have no issues with range or dropped packets.
It also seems like we can transfer a couple recording , like 2 or 3 ( each with its own connection i.e scan and connect , subscribe to characteristic and gather all the packets , do some processing then disconnect and start over ), without issue than every attempt at gathering the packets starts failing because of disconnects.
Does anyone have any idea what might be going on?
Do we need to fix our connection parameters? This seems to be mostly an issue since the newest iOS updates ( 18.3,18.3.1 ) however we've tested on previous versions and are now seeing same ble range issues.
Any help or guidance on tracking down what's going on is appreciated.
Relevant logs:
`32mI (273409) Task_send_audio:: esp_ble_tx_power_get(ESP_BLE_PWR_TYPE_DEFAULT) = 255 [39m
[31mE (286869) main:: No MBUFs available from pool, retry.. [39m [23;1H
[31mE (287519) main:: No MBUFs available from pool, retry.. [39m [23;1H
[31mE (287769) main:: No MBUFs available from pool, retry.. [39m [23;1H
[31mE (287919) main:: No MBUFs available from pool, retry.. [39m [23;1H`
...
...
...
31mE (1622829) Task_send_audio:: send_audio_ble, couldn't send the audio totally, ***** unsubscribe from charactaristic [39m [23;1H
Peripheral connections parameters:
Hello, why is apple won’t adding Just-In-Time compiler to ”Emulators” in the app store. And/or hypervisor for newer devices.
i feel like UTM (which is a PC Emulator) or other Apps that emulate need JIT to work properly, and will consume significantly less battery to emulate/virtualize, And will have a noticeably better performance than just not enabling JIT, and by the way jit is already being used on iPadOS/iOS 18.3/18.3.1 and newer/older version of that so being enabled by the choice of the developer of the App is more convenient than doing it with tools.
and by the why apple wont let emulators on iPads and newer iPhones do hypervisor, it’s better than JIT but requires a good cpu, like making it available to people with newer/powerful devices, hypervisor is better than JIT by a lot and removing it in iPadOS/iOS 18.4 was an unnecessary choice?, becuase it had a better potential in virtualization instead of emulating, and I feel like enabling it In M1-M2 iPads and A14-18pro and newer devices is just better from having it disabled, to unlock the fullest potential of the iPad it needs to have a app or something to do instead of just running high graphics games/or Apps.
I am developing and distributing an XCFramework, and I want to ensure that it remains valid for as long as possible. I have some questions regarding certificate expiration and revocation:
I understand that if an XCFramework is signed with a timestamp, it remains valid even after the signing certificate expires.
However, if the signing certificate is revoked, the XCFramework immediately becomes unusable.
As far as I know, Apple allows a maximum of two active distribution certificates at the same time.
I assume that once a certificate expires, it will eventually need to be revoked in order to issue a third certificate. Is this correct?
If an expired certificate is later revoked, will the XCFrameworks signed with that certificate also become invalid, even though they were timestamped?
I want to ensure that released XCFrameworks remain valid for as long as possible. What is the best approach to achieve this?
If anyone has insights or official documentation references on how to manage signing certificates for long-term XCFramework validity, I would appreciate your guidance.
Thank you!
Our product is using IOKit framework for monitoring USB device activities. We have used IOKit framework for getting the notification for USB plugin and un-plugins. With the macOS version 15.3 we are started seeing issue with it. When the notification is received during USB plugin/connection, we are unable to get IOUSBDeviceInterface object which will be used for further processing.
Currently we are seeing the below error every time, while trying to create the IO plugin interface using IOCreatePlugInInterfaceForService API:
create plugin Error: (0xe00002be): (iokit/common) resource shortage
Due to this the we are unable to proceed with the flow further and the entire flow is broken.
These logics work fine in macOS version 15.2 and lower versions without any issues.
logic used:
USBDevice::initInterfaceInterfaceByIOService(io_service_t entry)
{
IOCFPlugInInterface** plugInInterface = NULL;
IOUSBInterfaceInterface** interface = NULL;
SInt32 score = 0;
mach_error_code err =
IOCreatePlugInInterfaceForService(entry, kIOUSBInterfaceUserClientTypeID, kIOCFPlugInInterfaceID, &plugInInterface, &score);
if ((err != 0) || (!plugInInterface)) {
os_log_error(OS_LOG_DEFAULT, "Unable to create plugin \n");
return nullptr;
}
auto result = (*plugInInterface)->QueryInterface(plugInInterface, CFUUIDGetUUIDBytes(kIOUSBInterfaceInterfaceID), (LPVOID*)&interface);
(*plugInInterface)->Release(plugInInterface);
if (result || !interface) {
os_log_error(OS_LOG_DEFAULT, "Unable to create interface \n");
return nullptr;
}
return interface;
}
Hey,
I would love to access the users Contact (ie. the Me Card)
Apple recently released the Invites app and within this app you can find the users Contacts Photo. I tried to replicate this behaviour but I currently need to match based on a name or email or something else. I have no idea how to receive this data because when using the Invites app I only remember the app asking for Contacts permission and nothing else so far.
let store = CNContactStore()
let keysToFetch = [CNContactImageDataAvailableKey, CNContactImageDataKey, CNContactThumbnailImageDataKey] as [CNKeyDescriptor]
let email = "test@test.de"
let predicate = CNContact.predicateForContacts(matchingEmailAddress: email)
do {
let contacts = try store.unifiedContacts(matching: predicate, keysToFetch: keysToFetch)
let imageDatas: [Data] = contacts.compactMap { $0.imageData }
self.images = imageDatas.map { UIImage(data: $0) ?? UIImage() }
} catch {
print("Error fetching contacts: \(error)")
}
This is how I am retrieving the Image. MAYBE someone can help me out.
Thank you so far
~ Flo
I submitted feedback as FB16463501 -- posting here for others to see, or maybe for Apple to share any help if there are workarounds, etc.:
Targets below iOS 18.x fail to launch app due to dyld[xxxxx]: Symbol not found: errors when referencing:
MeshResource.init(from:) async - https://developer.apple.com/documentation/realitykit/meshresource/init(from:)-b7hb
i.e. dyld[61511]: Symbol not found: _$s10RealityKit12MeshResourceC0A10FoundationE4fromACSayAD0C10DescriptorVG_tYaKcfC
MeshResource.replace(with:) async - https://developer.apple.com/documentation/realitykit/meshresource/replace(with:)-8uvri
i.e. dyld[78830]: Symbol not found: _$s10RealityKit12MeshResourceC0A10FoundationE7replace4withyAcDE8ContentsV_tYaKF
Targets tested that exhibit issue: (DYLD errors)
Device: iOS 17.7.2, iPhone 14 Pro Max
Simulator: iOS 17.5 (21F79), iPhone 15
System Information:
macOS Version 15.3 (Build 24D60)
Xcode 16.2 (23507) (Build 16C5032a)
MRE -- include this code in your app: (no need to invoke, just reference)
static func addOrUpdateEntityModel_MRE(_ entity: ModelEntity) async {
let descriptor = MeshDescriptor(name: "MyDescriptor")
do {
if let modelComponent = entity.model { // update existing ModelComponent
if let model = try? MeshResource.Model(id: "MyModelId", descriptors: [descriptor]) {
var contents = MeshResource.Contents()
contents.models = .init([model])
try await modelComponent.mesh.replace(with: contents) /// `dyld[78830]: Symbol not found: _$s10RealityKit12MeshResourceC0A10FoundationE7replace4withyAcDE8ContentsV_tYaKF`
}
} else { //create new ModelComponent
/// Comment-out the 2 lines below == dyld error for above `MeshResource.replace(with:)`
let meshRes = try await MeshResource(from: [descriptor]) /// `dyld[61511]: Symbol not found: _$s10RealityKit12MeshResourceC0A10FoundationE4fromACSayAD0C10DescriptorVG_tYaKcfC`
entity.model = .init(mesh: meshRes, materials: [SimpleMaterial()])
}
} catch {
fatalError()
}
}
I have an app, which is depended on custom SDK. Custom SDK has dependencies, included all dependencies in Podspec and custom framework/static lib ios.vendored_frameworks.
here I sample of my pod spec
Pod::Spec.new do |s|
s.name = "SDK"
s.version = "1.0.1"
s.summary = "SDK"
s.source = { :git => "https://github.com/ABC/SDK.git", :tag => "v"+s.version.to_s }
s.platform = :ios
s.ios.deployment_target = '16.0'
s.swift_version = '4.2'
s.static_framework = true
s.frameworks = 'Security'
s.frameworks = 'CoreLocation'
s.requires_arc = true
s.module_name = 'SDK'
s.library = 'z'
s.default_subspec = 'Shared'
s.subspec 'Shared' do |shared|
shared.ios.vendored_frameworks = 'SDKLib.xcframework'
shared.dependency 'CocoaAsyncSocket', '~> 7.4'
shared.dependency 'CocoaHTTPServer'
shared.dependency 'SocketRocket', '~> 0.6'
shared.dependency 'QNNetDiag'
shared.dependency 'SAMKeychain'
shared.dependency 'AFNetworking/Reachability', '~> 4.0'
shared.dependency 'AFNetworking/Serialization', '~> 4.0'
shared.dependency 'AFNetworking/Security', '~> 4.0'
shared.dependency 'AFNetworking/NSURLSession', '~> 4.0'
shared.dependency 'CocoaMQTT'
shared.dependency 'Starscream', '~> 4.0.8'
shared.dependency 'TrustKit'
shared.dependency 'Firebase/Analytics'
end
end
below error I am getting while linking lib
I have been experiencing an issue with my MacBook Air 2024 model that is equipped with the latest M3 chip. After upgrading to the beta version of the operating system, I've noticed that when I close the lid to put the laptop to sleep, and then open it to wake it up, the system unexpectedly restarts instead of resuming from where it left off. This behavior is not only inconvenient but also raises concerns about potential data loss or corruption during the unexpected restarts. I understand that beta versions can have bugs, but I was hoping to receive some guidance on whether this is a known issue or if there are any steps I can take to troubleshoot and resolve this problem. Any assistance or insights into this matter would be greatly appreciated.
I hope questions about third party APIs are allowed. If not I guess a delete is in order. That said....
I am looking to do an app for dog owners, trainers and enterprises such as shelters & boarding, and a couple of features require access to one or more cameras in real time. So I have been looking for hardware that provides an API and coming up empty. So far as I can tell none of the major pet cam companies, like Furbo, Petcube or Eufy. Even security cameras like the TP-Link Tapo doesn't seem to.
Am I just failing epically in my search formulation, or are all these companies playing the printer game and selling the camera cheap and making all their money in the monthly subscription to actually be able to use the hardware, and keeping that to themselves?
And, can anyone recommend decent to good third party hardware that does provide a Swift API? Or am I better off just targeting the use of iPhone & iPad and Mac cameras? It's not ideal, but it's better than nothing.
Has the NEHotspotNetwork framework removed the fetchAvailableNetworksWithCompletionHandler API? xcode version: 16.2 ios sdk: 18.2
I want to get wifi's list by NEHotspotNetwork framework, but i didn't find any useful infomation about it
I have developed framework and want to use this framework in authplugin which added on same project in different target
That plugin target is working fine without framework, once I am adding framework the authplugin is not working
Auth-plugin I am using to change in screen-saver plist
Hello,
I am building an app that records a list view of projects in contentView. I am in Xcode 16.2.
I am having trouble when calling contentView in my @main app file and on the ContentView() line shown in the App file shows that ther is a "Missing argument for parameter 'project' in call". It prompts me to fix it with "Insert', project: ,#Project#.>".
However when I do this like the following:
ContentView(project: Project)
It says "Cannot convert value of type 'Project.Type' to expected argument type 'Project'"
These are my Code below
//Model
import Foundation
import SwiftUI
struct Project: Identifiable {
var name: String
var icon: String
var isFavorite: Bool
var color: Color
let id = UUID()
var compoundscore : Float
static func CurrentProjects() -> [Project] {
return [Project(name: "Test Project", icon: "🍎", isFavorite: true, color: .red, compoundscore: 4.5),
Project(name: "Swimming", icon: "🏊", isFavorite: false, color: .orange, compoundscore: 12.5),
Project(name: "Archery", icon: "🏹", isFavorite: false, color: .yellow, compoundscore: 37.5)
]
}
}
// App view where the error is
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView(project: Project)
}
}
}
// Content View
struct ProjectRow: View {
let project: Project
var body: some View {
HStack {
Text(project.icon)
.font(.title)
Text(project.name)
Spacer()
Image(systemName: project.isFavorite ? "heart.fill" : "heart")
}
}
}
struct ContentView: View {
var CurrentProjectlist = Project.CurrentProjects()
var project: Project
var body: some View {
NavigationView {
List {
Section {
if #available(iOS 17.0, *) {
ForEach(CurrentProjectlist) { project in
ProjectRow(project: project)
}
.listRowBackground(
Capsule()
.fill(Color(project.color))
.padding(.vertical, 2).padding(.horizontal, 20)
)
.listRowSeparator(.hidden)
.foregroundColor(.indigo)
} else {
// Fallback on earlier versions
}
} header: {
Text("CI Projects")
}
.listRowBackground(Color.blue)
.foregroundColor(.black)
.listRowInsets(.init(top: 0, leading: 40, bottom: 0, trailing: 40))
.listRowBackground(Color.black)
.listSectionSeparatorTint(.yellow)
.headerProminence(.increased)
.listRowInsets(EdgeInsets.init(top: 0, leading: 50, bottom: 0, trailing: 50))
}
.scrollContentBackground(.hidden)
.background(
Image("cool background")
.resizable()
.scaledToFill()
.clipped()
.edgesIgnoringSafeArea(.all)
.blur(radius: 3)
.overlay(Color.red.opacity(0.2))
)
.environment(\.defaultMinListHeaderHeight, 20)
.environment(\.defaultMinListRowHeight, 70)
.navigationTitle("Navigator")
}
}
}
Received entitlement access from Apple yesterday, but I'm getting this error when trying to check app authorization:
FinanceKit/FinanceStore+FinancialDataAuthorization.swift:27: Fatal error: Process is not entitled
Code of interest:
import Foundation
import FinanceKit
@MainActor
class FinanceService: ObservableObject {
private let store = FinanceStore.shared
@Published private(set) var authorizationStatus: AuthorizationStatus = .notDetermined
@Published private(set) var accounts: [Account] = []
@Published private(set) var transactions: [Transaction] = []
@Published private(set) var balances: [AccountBalance] = []
@Published private(set) var wallet: Wallet = Wallet()
// Authorization
func requestAuthorization() async {
do {
authorizationStatus = try await store.requestAuthorization()
} catch {
// If there's an error requesting authorization, set to denied
authorizationStatus = .denied
print("Error requesting authorization: \(error)")
}
}
func checkAuthorizationStatus() async {
do {
print("Checking authorization status")
authorizationStatus = try await store.authorizationStatus()
print("Authorization status: \(authorizationStatus)")
} catch {
// If there's an error checking status, assume not determined
authorizationStatus = .notDetermined
print("Error checking authorization status: \(error)")
}
}
}
What I've done/checked:
Info.plist is set properly, with NSFinancialDataDescription AND
NSFinanancialDataUsageDescription both set
In my entitlements, key com.apple.developer.financekit is set to financial-data
I have am targeting an actual device (min. 17.6)
I've followed the instructions here: [https://developer.apple.com/forums/thread/757973] to no avail.
Any ideas?
I'm developing an iOS app using AVFoundation for real-time video capture and object detection.
While implementing torch functionality with camera switching (between Wide and Ultra-Wide lenses), I encountered a critical issue where the camera freezes when toggling the torch while the Ultra-Wide camera is active.
Issue
If the torch is ON and I switch from Wide to Ultra-Wide, the camera freezes
If the Ultra-Wide camera is active and I try to turn the torch ON, the camera freezes
The iPhone Camera app allows using the torch while recording video with the Ultra-Wide lens, so this should be possible via AVFoundation as well.
Code snippet
DispatchQueue.global(qos: .userInitiated).async { [weak self] in
guard let self = self else { return }
let isSwitchingToUltraWide = !self.isUsingFisheyeCamera
let cameraType: AVCaptureDevice.DeviceType = isSwitchingToUltraWide ? .builtInUltraWideCamera : .builtInWideAngleCamera
let cameraName = isSwitchingToUltraWide ? "Ultra Wide" : "Wide"
guard let selectedCamera = AVCaptureDevice.default(cameraType, for: .video, position: .back) else {
DispatchQueue.main.async {
self.showAlert(title: "Camera Error", message: "\(cameraName) camera is not available on this device.")
}
return
}
do {
let currentInput = self.videoCapture.captureSession.inputs.first as? AVCaptureDeviceInput
self.videoCapture.captureSession.beginConfiguration()
if isSwitchingToUltraWide && self.isFlashlightOn {
self.forceEnableTorchThroughWide()
}
if let currentInput = currentInput {
self.videoCapture.captureSession.removeInput(currentInput)
}
let videoInput = try AVCaptureDeviceInput(device: selectedCamera)
self.videoCapture.captureSession.addInput(videoInput)
self.videoCapture.captureSession.commitConfiguration()
self.videoCapture.updateVideoOrientation()
DispatchQueue.main.async {
if let barButton = sender as? UIBarButtonItem {
barButton.title = isSwitchingToUltraWide ? "Wide" : "Ultra Wide"
barButton.tintColor = isSwitchingToUltraWide ? UIColor.systemGreen : UIColor.white
}
print("Switched to \(cameraName) camera.")
}
self.isUsingFisheyeCamera.toggle()
} catch {
DispatchQueue.main.async {
self.showAlert(title: "Camera Error", message: "Failed to switch to \(cameraName) camera: \(error.localizedDescription)")
}
}
}
}
Expected Behavior
Torch should be able to work when Ultra-Wide is active, just like the iPhone Camera app does.
The camera should not freeze when switching between Wide and Ultra-Wide with the torch ON.
AVCaptureSession should not crash when toggling the torch while Ultra-Wide is active.
Questions & Help Needed
Is this a known issue with AVFoundation?
How does the iPhone Camera app allow using the torch while recording in Ultra-Wide?
What’s the correct way to switch between Wide and Ultra-Wide cameras without freezing when the torch is active?
Info
Device tested: iPhone 13 Pro / iPhone 15 Pro / Iphone 15
iOS Version: iOS 17.3 / iOS 18.0
Xcode Version: 16.2
Good day, everyone. I've already spent two days trying to figure out if this is even possible:
I have a working project with a huge number of SPM dependencies. We need to wrap all of this into a framework that can be easily connected to another project. Currently, following the instructions on Apple's documentation, I've done everything step by step. However, after connecting the library to a new project and writing import Framework, I get the error:
Missing required modules: [list of all SPM from Framework]
I thought that a static framework implied that all dependencies would be bundled into the project, but that didn't happen. Are there any ways to solve this problem?
Thank you!
I am trying to submit my app for review on appstoreconnect, but after every attempt it immediately says your app has been changed to invalid binary and rejected. The error related to this rejections is:
ITMS-91064: Invalid tracking information - A PrivacyInfo.xcprivacy file contains invalid tracking information at the following path: “Frameworks/MapboxCoreSearch.framework/PrivacyInfo.xcprivacy”. NSPrivacyTracking must be true if NSPrivacyTrackingDomains isn’t empty. Keys and values in your app’s privacy manifests must be valid.
Despite the fact that my app's PrivacyInfo.xcprivacy states no that there are no tracking domains, privacy tracking is not enabled and that the Privacy Nutrition Label Types clearly state that there are no particular tracking happening across the selected the labels, which are course location, precise location and search history. The information in the IPrivacyInfo.xcprivacy in the app privacy settings and reflect that there is no tracking happening. I have attempted changing the details and I still get the same error. I've tried every solution and it still gets flagged for this.
Latest version of Xcode 16.1.
I have an existing package dependency which is sitting on a git@ssh.dev.azure.com account.
So, now whenever I remove that package dependency, I can no longer add it within the Xcode UI. Just no possible way to add it or find it in the Search or Enter Package URL text field.
How on earth are we meant to add SSH packages now?
Anyone else have this issue? If so, have you found a work-around without having to manually edit the package dependencies in the project?