We are considering the development of a new service, We would like to ask for detailed information on the feasibility of the following.
Is it possible to encapsulate only xcframework, such as encapsulating xcframeworkA into xcframeworkB? If the above is possible, will the application incorporating the xcframework in the above state pass the review of apple?
General
RSS for tagDive into the vast array of tools and services available to developers.
Post
Replies
Boosts
Views
Activity
I'm trying to upload an update to an iOS app. Xcode goes through the usual dialogue and then immediately gets stuck on "Sending Analysis to App Store Connect..."
Since the Xcode GUI doesn't provide any helpful information, I looked in Console. I can see Xcode completing an SSL handshake, then reporting that it "received viability advisory", followed by boringssl_context_handle_fatal_alert "level: fatal, description: bad record mac". After this it starts the SSL handshake again. It will cheerfully do this round and round forever without ever reporting a problem to the user.
I found a similar post, which has one response about stripping bitcode from libraries (with no explanation as to why this would help), but my app does not include bitcode.
I've updated to the latest version of Xcode incase there was some incompatibility, and rebuilt my app because, while that should be irrelevant to an SSL handshake, I'd expect someone to ask.
Does anybody know what is going on and how to fix it?
Hi developers,
I'm searching for a kind of way of working to develop my apps on a different machine than testing and final building.
For development I have a MacBook Pro m4 and for testing I want to outsource this to a Mac mini m1. I was searching for a solution and also contacted the support, but the answer wasn't really helpful.
Any ideas how to setup this configuration to automate this kind of tests?
Thanks a lot!
am I correct in thinking that local agentsic coding is going to come to Xcode at some point ? I'm thinking cursor ai or windsurf / cline style.
I have one iOS device running iOS 16.7.10. When I run xcrun devicectl list devices I can't see that device at all. Is that know limitation (devicectl only work in iOS 17 and above) or is something wrong with my setup.
Also is there some documention about devicectl. I can't seem to find anything about in the offical apple sites.
Hi everyone,
I’m encountering an issue with Firebase Dynamic Links in my app that I’m hoping someone can help me with.
Everything was working perfectly before, but recently, I’ve run into a problem. Here’s the scenario:
If the app is not installed and a Firebase Dynamic Link is clicked, the user is correctly redirected to the app store to install the app.
Once the app is installed and opened for the first time, the dynamic link doesn't work. The app doesn't open to the correct content or link that was clicked.
I’ve tried the following troubleshooting steps with no success:
Verified that the app is configured properly in Firebase and that the Dynamic Links settings are correct.
Checked the app's deep linking settings and ensured everything matches with the Firebase setup.
Confirmed that the Firebase SDK is up-to-date.
Attempted to clear app cache and reinstall.
Tested the links in both debug and production modes.
Despite trying all these steps, the issue persists.
Has anyone else faced this issue before or have any suggestions for how to fix it? Any insights would be greatly appreciated!
Thanks in advance!
Hi,
I am trying to bring an existing Unity app to vision pro, and am trying to make all of the librairies compatible (the project loads native libs at runtime).
For some of them, there is an arm64 IOS .framework file that seems to build and be found easily in the device, but for one of them I only got a .dylib.
When building on xcode, it tells me it can't find it. So I added it to the lib search path in build settings, and it built. But on the device, it still can't seem to find the .dylib :
Library not loaded: ./libpdfium.dylib
Referenced from: <59B1ACCC-FFFD-3448-B03D-69AE95604C77> /private/var/containers/Bundle/Application/0606D884-CB09-44CA-8E4F-4A309D2E7053/[...].app/Frameworks/UnityFramework.framework/UnityFramework
Reason: tried: '/usr/lib/system/introspection/libpdfium.dylib' (no such file, not in dyld cache), './libpdfium.dylib' (no such file), '/usr/lib/system/introspection/libpdfium.dylib' (no such file, not in dyld cache), '//libpdfium.dylib' (no such file)
I am not used to Apple environment, is there a way to correctly reference this .dylib (not talking about compatibility here, just the first "lib found" step) ?
Thanks.
Certainly! Below is a structured report you can use to submit to Apple Developer Support, Feedback Assistant, or share with the ad network for escalation. This report is tailored based on the logs and forensic analysis we’ve conducted.
Structured Report: SKAdNetwork Attribution Failures
Subject/Title:
Critical SKAdNetwork Attribution Failures (Bug Type: 237, Failure Type: 1201 in ASDErrorD
We are encountering repeated SKAdNetwork attribution failures (failureType: 1201 in ASDErrorDomain) for ad impression events processed through the ad network mj797d8u6f.skadnetwork. These failures are causing significant revenue losses, as ad impressions are not being properly attributed to installs.
The issue occurs across multiple campaigns and involves both SKAdNetwork API 3.0 and 4.0, suggesting a systemic problem with attribution validation or network communication.
This problem is critical as it disrupts advertisers’ ability to track conversions, optimize campaigns, and allocate budgets effectively.
Technical Details
Key Logs:
Below are anonymized samples of the failed SKAdNetwork events:
Log Sample 1 (Failure):
{
"bug_type": "237",
"timestamp": "2025-01-07 22:49:15.00 -0500",
"os_version": "iPhone OS 18.2.1 (22C161)",
"roots_installed": 0,
"incident_id": "78523BD9-1F58-4738-B526-8A8A63203214"
}
{
"advertisementStoryId": "3D2E7EBB-1A57-4DF8-9375-2C465F423038",
"apiVersion": "3.0",
"eventType": "adImpression",
"resultType": "finalized",
"anonymous": true,
"failureType": 1201,
"failureDomain": "ASDErrorDomain",
"clientEventId": "0F456623-584F-4913-BBD3-C3FD1219D104",
"os": "iOS",
"topic": "xp_amp_skad_perf",
"adType": "app",
"adNetworkId": "mj797d8u6f.skadnetwork",
"eventTime": 1736305200000,
"osBuildNumber": "22C161",
"hardwareFamily": "iPhone",
"api": "SKAdNetwork"
}
Log Sample 2 (Failure):
{
"bug_type": "237",
"timestamp": "2025-01-07 22:49:15.00 -0500",
"os_version": "iPhone OS 18.2.1 (22C161)",
"roots_installed": 0,
"incident_id": "0CBF612D-F0D9-449E-A34E-DE2DB92BEC0D"
}
{
"advertisementStoryId": "946E568C-D2C1-478F-BFF3-4996C48F9B39",
"apiVersion": "3.0",
"eventType": "adImpression",
"resultType": "finalized",
"anonymous": true,
"failureType": 1201,
"failureDomain": "ASDErrorDomain",
"clientEventId": "1A3D48FB-4452-4FD8-BB25-1195470A53DC",
"os": "iOS",
"topic": "xp_amp_skad_perf",
"adType": "app",
"adNetworkId": "mj797d8u6f.skadnetwork",
"eventTime": 1736298000000,
"osBuildNumber": "22C161",
"hardwareFamily": "iPhone",
"api": "SKAdNetwork"
}
Log Sample 3 (Success Example for Comparison):
{
"bug_type": "237",
"timestamp": "2025-01-07 22:49:15.00 -0500",
"os_version": "iPhone OS 18.2.1 (22C161)",
"roots_installed": 0,
"incident_id": "BFEAC86B-8195-4DB0-96FF-2028107256AD"
}
{
"advertisementStoryId": "946E568C-D2C1-478F-BFF3-4996C48F9B39",
"apiVersion": "3.0",
"eventType": "adImpression",
"resultType": "finalized",
"anonymous": true,
"clientEventId": "F6265488-E0FB-448A-A406-3F7254BCA9D7",
"os": "iOS",
"topic": "xp_amp_skad_perf",
"adType": "app",
"adNetworkId": "mj797d8u6f.skadnetwork",
"eventTime": 1736294400000,
"osBuildNumber": "22C161",
"hardwareFamily": "iPhone",
"api": "SKAdNetwork"
}
Failure Details:
• Failure Type: 1201
• Failure Domain: ASDErrorDomain
• Ad Network ID: mj797d8u6f.skadnetwork
• API Versions Affected: 3.0, 4.0
• Timeframe of Failures: All logs occur within 2025-01-07 22:00:00 UTC to 23:00:00 UTC.
Environment:
• OS Version: iOS 18.2.1 (Build 22C161).
• Device Type: iPhone (hardwareFamily: iPhone).
• App Configuration: Includes the ad network ID in the Info.plist under SKAdNetworkItems.
Impact Details
Financial Loss:
• Based on failure rates, we estimate $20–$65/day per advertiser for small campaigns and $75–$375/day per advertiser for larger campaigns.
• If 100 advertisers are affected, daily losses range from $2,000–$37,500.
• Over a week, losses could exceed $70,000 to $262,500 or more.
2. Operational Impact:
• Advertisers cannot track installs or optimize campaigns, leading to inefficient ad spending and potential budget reallocation to other networks.
• Damaged trust between advertisers and the ad network.
3. Reputation Risk:
• Continued failures harm the credibility of the SKAdNetwork framework, critical in a post-ATT (App Tracking Transparency) ecosystem.
Steps to Reproduce
Serve an ad impression through the ad network mj797d8u6f.skadnetwork.
Monitor SKAdNetwork attribution for that impression.
Observe repeated failures (failureType: 1201) despite the resultType: finalized status.
Recommendations for Investigation
Attribution Timeout:
• Verify if these failures stem from delayed responses or missed attribution windows.
2. Ad Network Configuration:
• Confirm the ad network’s integration complies with SKAdNetwork API 3.0 and 4.0 requirements.
3. Infrastructure Review:
• Investigate potential bottlenecks or failures in Apple’s attribution servers (ASDErrorDomain) or communication delays.
Contact Details
• Name: [Your Full Name]
• Role: [Your Role] (e.g., Ad Network Analyst/Developer)
• Organization: [Your Company Name]
• Email: [Your Email Address]
• Phone: [Your Phone Number]
Submission Instructions
You can submit this report via the following channels:
• Apple Feedback Assistant: Feedback Assistant
• Bug Reporting Tool: Bug Reporting
• Apple DTS: Developer Technical Support
This structured report should provide Apple with all the necessary details to investigate and resolve the issue effectively. Let me know if you’d like help customizing it further!
I'm adding state restoration to an old iOS app that does not use scenes or storyboards. Creating of view controllers is entirely programmatic.
I found the restorationArchiveTool for iOS which is very helpful. However it also refers to a StateRestorationDebugLogging mobileconfig profile that is supposed to turn on additional debug logging when restoring state.
https://download.developer.apple.com/ios/restorationarchivetool_for_ios_7/StateRestorationDebugLogging.mobileconfig
However I do not seem to be able to install it to either a simulator or my device. Does anyone know if this profile is still valid? If so, how do I install it?
Tom Aylesworth
I have an xCode project called Vision + CoreML
I wanted add some charts into it so I started installing cocoapad for the first time
I followed all the steps from installing the latest ruby version to running pod install
The critical .xcworkspace had been never created no matter how many times pod install was run. It is nowhere to be found. Could anyone advise me on what went wrong here?
Here are some files used to generate
Podfile
platform :ios, '15.0'
target 'Vision + CoreML' do
use_frameworks!
# Comment the next line if you don't want to use dynamic frameworks
pod 'Alamofire', '~> 5.6'
# Pods for Vision + CoreML
pod 'Charts'
end
and here is the command prompt output ls
MacBook-Pro-3:NotAbgabe myusername$ ls
App Main View
Configuration Models
Documentation Podfile
Extensions README.md
Image Predictor Vision+Core-ML.xcodeproj
LICENSE
I ran all the commands under the NotAbgabe folder. Not sure if xcworkspace is hidden somewhere between the files
Production build on eas failing for a couple of days. Submitted a request for information day before yesterday, but I was wondering if anyone else has been having this problem. I will post any update from Apple if/when I get it.
I'm exploring using a handful of frameworks to share code between macOS apps. However, one of these frameworks needs privilege to function. The main app has a helper tool utilizing SMAppService. However, I can't work out if there's a feasible way to use that helper tool to support the framework dependency. Should I be creating a second helper tool for the framework instead? Or am I barking up the wrong tree?
Thanks!
Hello everyone, my iPhone keep on showing multiple "Trust this Computer" alert simultaneously which I cannot tap on it to Trust. As a result, I cannot run my XCode project on my device. Does anyone has any ideas or solutions to fix this ?
Solution I have tried:
Reset Location & Privacy
Reset Network Settings
Enable Developer Mode
Restart Device
My devices specs:
iPhone 15 Pro: iOS 18.2.1
Macbook Pro M3 Max: Sequoia 15.1.1
Ive been working on android studio and have my app put together and was gonna start thr apple process and everything I read says I'll need a Mac to do it. Can someone either point me in the right direction or could I send my code over and someone compile my code for me?
I can see that a MacOS VM guest running on top of an Apple Silicon MacOS host has GPU acceleration - indicating GPU sharing capabilities for the hardware.
Is there also a way to have GPU acceleration in Linux guests (with Vulkan/Mesa drivers)?
@MainActor class AddCarViewModel: ObservableObject {
@Published var photoUrls : [String] = []
func uploadImages(images: [Image], customerId: String) async throws {
let subFolderId = UUID().uuidString
let pictureFolderRef = Storage.storage().reference().child("CarPhotos").child(customerId).child("\(subFolderId)")
images.enumerated().forEach { index, image in
guard let imageData = image.asUIImage().jpegData(compressionQuality: 0.5) else {
return
}
let pictureReference = pictureFolderRef.child("image_\(index).jpeg")
pictureReference.putData(imageData, metadata: nil) {
metadata, error in
if let error = error {
print("failed to put data")
}
pictureReference.downloadURL { url, error in
if let error = error {
print("error while downloading url ")
}
guard let urlString = url?.absoluteString else {
return
}
self.photoUrls.append(urlString)
}
}
}
}
func addCar(carInfo: Car) async throws {
try await Firestore.firestore().collection("cars").document().setData(from: carInfo)
}
}
VStack {
Button {
Task {
do {
try await viewModel.uploadImages(images: selectedImages, customerId: viewModel.user!.uid)
try await viewModel.addCar(carInfo: Car(photoUrls: viewModel.photoUrls))
} catch {
print(error)
}
}
dismiss()
} label: {
Text("Post")
}
}
I have received email about your development certificate has been revoked, but couldn't identify who did that, due to this revocation one of our enterprise application stopped working. So posting here to seek some suggestion on following
1.) Identification of Revoking Party: Though I have already raised a support ticket to Apple still waiting for their reply. Is it possible for Apple to send logs or account activity logs that from which account or who did the revocation?
2.) How much does Apple take to reply to the support tickets.
3.) No one else received email in my development team. Is it because the certificate which I created is revoked that's the reason only I have received email?
4.) May I know what are the other scenarios that certificate can be revoked other than a human error?
5.) Is there a way for us to internally monitor activity within our developer account, such as identifying who has been actively logged in and updating certificates?
hello developers,
First priority I couldn't find a proper title for the question :(
The reason why I open a topic here is not to find the answer by direct point shooting; My goal is what do Apple, Developer, Companies and Devops teams think and comments about the subject I'm going to ask here?
We use Jenkins as the Devops CI/CD tool at our company, and in Macos/Apple/iOS development, we use a lot of Mac Mini devices. Since we build/compilers on a project-based, version-based basis, we cannot get 100% efficiency from our devices. (For example, because the dependencies of a project are different from other projects; we dedicate only 1 Mac Mini to that project. (As the dependecys of the projects are too many and large, the migration process is very difficult for us, the cost of moving to a lower-level Mac Mini device is high / but this is just an example))
While researching, I saw that there is no docker container image for MacOs X (enterprise or legal) and I know about the Apple EULA. (For virtualization, Apple hardware must be used as a basis. Because the MacOs system is paid for on a device-based basis.)
What I want to ask here is can I find or create a MacOs docker container image legally?
How is the structure of other companies in their CI processes?
If I install MacOs with more than one VMware/VirtualBox on Mac Mini, What harm could it do me in Jenkins? (I'm curious about people's comments on this.)
Hi everyone,
I’m encountering a crash in my app and need help understanding what’s causing it and how to resolve it.
As stated in the crash report, the issue is caused by exceeding the system-wide per-process port limit. Can you tell me how to locate and identify why this is happening?
Below are the full report of the crash log:
crash.log
Summary of Crash:
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Incident Identifier: B509FF2B-C8D8-4E9F-B664-E24464CFD5F8
CrashReporter Key: b390cfe931a83efde49bd8b523023a275b55ef64
Hardware Model: iPhone14,2
Process: MyApp [22515]
Path: /private/var/containers/Bundle/Application/F73212A7-4CB9-485A-A8B7-8114F4E9A9AB/MyApp.app/MyApp
Identifier: com.beeasy.app.id.enterprise
Version: 3.41.38-ID-MySDKMemory-12261114 (3.41.38-ID-MySDKMemory-12261114)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: com.beeasy.app.id.enterprise [515]
Date/Time: 2024-12-29 01:29:48.3023 +0800
Launch Time: 2024-12-26 16:38:36.7895 +0800
OS Version: iPhone OS 16.6.1 (20G81)
Release Type: User
Baseband Version: 2.80.01
Report Version: 104
Exception Type: EXC_RESOURCE (SIGKILL)
Exception Codes: 0x000000000001c1d6, 0x0000000000000000
Termination Reason: PORT_SPACE 14123288431433990614 (Limit 115158 ports) Exceeded system-wide per-process Port Limit
Triggered by Thread: 64
Thread 64 name: AURemoteIO::IOThread
Thread 64 Crashed:
0 libsystem_kernel.dylib 0x20ce5eca4 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x20ce71b74 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x20ce71e4c mach_msg_overwrite + 540
3 libsystem_kernel.dylib 0x20ce5f1e8 mach_msg + 24
4 libEmbeddedSystemAUs.dylib 0x238bb2148 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, AURemoteIO::IOThread::IOThread(AURemoteIO&, caulk::thread::attributes const&, caulk::mach::os_workgroup_managed const&)::'lambda'(), std::__1::tuple<>>>(void*) + 556
5 libsystem_pthread.dylib 0x22dcda6b8 _pthread_start + 148
6 libsystem_pthread.dylib 0x22dcd9b88 thread_start + 8
Hi everyone,
I'm working on an NFC-related app using CoreNFC with APDU commands to read and write tags. I’ve encountered an issue when trying to handle the scenario where the user cancels the NFC session.
Here’s what’s happening:
When a user cancels the NFC session manually (e.g., by tapping "Cancel"), I see an error log indicating tagReaderSession|userCancelled.
However, when I explicitly call session.invalidate(errorMessage: "No NFC tag found") in my code to handle a scenario where no tag is detected, the session still shows the error as userCancelled instead of my custom error message.
This behavior is confusing both in terms of debugging and for providing feedback to users, as I expect my custom message to appear instead of the generic "user cancelled" message.
func tagReaderSessionDidBecomeActive(_ session: NFCTagReaderSession) {
// Session becomes active
}
func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) {
// Handle tag detection logic
}
func tagReaderSession(_ session: NFCTagReaderSession, didInvalidateWithError error: Error) {
print("Session invalidated with error: \(error.localizedDescription)")
}
func handleNoTagDetected(session: NFCTagReaderSession) {
session.invalidate(errorMessage: "No NFC tag found")
}
I call handleNoTagDetected(session:) explicitly when no tag is detected, expecting the custom error message to show. However, the system still shows the cancellation error.
Has anyone else experienced this behavior? Is this the intended behavior for CoreNFC, or am I missing something in my implementation?
Any guidance would be appreciated.
Thanks in advance!