Saw this info: https://developer.apple.com/documentation/contacts/cncontactstore
But have no idea what I'm doing. This is a pressing matter and I need to determine the date/time contacts were originally created on my icloud account. I have tried the shortcuts method and it merely shows the date they were loaded into whichever device i'm logged in on if they were created a while ago
Dive into the vast array of tools, services, and support available to developers.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Why did I receive a CONSUMPTION_REQUEST for the same transaction_id the day after I already received a REFUND for it?
I received a CONSUMPTION_REQUEST, but due to a program error, I failed to submit the customer information. Later, I was notified with a REFUND, indicating that the transaction had been refunded. However, the next day, I received another CONSUMPTION_REQUEST notification for the same transaction_id.
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?
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
❌ Undefined symbols for architecture arm64
┌─ Symbol: _CMTimeGetSeconds
└─ Referenced from: -[ImagePickerManager mapVideoToAsset:phAsset:error:] in ImagePickerManager.o
❌ ld: symbol(s) not found for architecture arm64
Topic:
Developer Tools & Services
SubTopic:
Xcode
Is remotepairingd part of Xcode? It seems to be stuck using 119% CPU. This may have started when I recently paired my new Apple Watch with Xcode - or maybe that is a coincidence. The console is full of:
error 16:40:26.237601+0000 remotepairingd socket-1: No more data can be received, connection was closed
Hello! Recently, I noticed that my build isn’t including additional assets (icons). I tried using two different versions of Xcode (16.1 and 15.4) on separate Macs, but I’m getting the same result. Not all icons are being included in the build. However, I found that if I set my minimum deployment version to 14, all of the icons appear as expected.
Starting from target version 15 in Xcode, no additional icons are included. Is there any way to resolve this?
Topic:
Developer Tools & Services
SubTopic:
Xcode
I'm trying to run an xctest bundle, built for catalyst, with xcrun.
i.e.
xcrun xctest path_to_my_test.xctest
It fails, complaining that:
The bundle "MyBundle" couldn't be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle.....but incompatible platform (have 'MacCatalyst', need 'macOS')
So it seems like because I'm not executing it in a sim it wants the bundle to be a macOS bundle. But I would have thought it would be possible to run a Mac Catalyst target directly on a macOS host the same as a native macOS test target. Is this not possible?
I am trying to install our latest dev version from Testflight onto our clients phone. The user can't see any screen other than Redeem Code, and there is no code provided in the build email.
What is the best way to move past redeem code screen and get a working staging app on the phone? This user is also the account holder/admin.
Hi I'm trying to setup external users to test my app. When I get to the screen attached its not letting me complete the setup because it says I have to only use numbers for the phone number. I have only used numbers, I've ensure I've done so but its not recognizing this. Has anyone else had this issue? Could you make suggestions as to how to fix the problem?
[Image Edited by Moderator to Remove Personal Information]
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
For un unknown reason, my Apple ID has been blocked. Since I can not connect anymore to my developer account !
I've asked to unblock it (iforgot.apple.com) but according to support the unblock sequence is not send because this Apple ID is in used.
I need help to unblock my ID in order to manage my app....
note : I use an another account to post this messages.
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
Let's say I have a local package Foo, Bar and Baz.
Foo has Bar and Baz as dependency and has test target,FooTests.
Below is the Package.swift manifest that describes package Foo.
import PackageDescription
let packages: [Package.Dependency] = [
.package(path: "../Bar"),
.package(path: "../Baz"),
]
let products: [Target.Dependency] = [
.product(name: "Bar", package: "Bar"),
.product(name: "Baz", package: "Baz"),
]
let package = Package(
name: "Foo",
platforms: [
.iOS(.v16),
],
products: [
.library(
name: "Foo",
targets: ["Foo"]
),
],
dependencies: packages,
targets: [
.target(
name: "Foo",
dependencies: products,
path: "Sources"
),
.testTarget(
name: "FooTests",
dependencies: [.target(name: "Foo")],
path: "Tests",
swiftSettings: swiftSettings
),
]
)
Bar and Baz is also local packages.
Due to the limitations of the project, Baz has sources with symbolic links instead of exact directories, and these sources are what FooTests will test.
If I run FooTests, test succeed with proper logs indicating that all test methods are run correctly, but test coverage says that Baz's coverage is 0% and there is no executable lines unlike the Bar which is not what be tested.
Is there any way to fix this problem?
Hi!
I'm trying to create a target application that depends on multiple targets that all use the same Swift package that has xcframework binaryTarget. Each component can be successfully assembled individually, but when I try to create a core application that depends on these components, I get an error message on Prepare build stage:
Multiple commands produce '/Users/<USER>/Library/Developer/Xcode/DerivedData/<PROJECT_ID>/Build/Products/Debug/Frameworks/<FW_NAME>.framework/Versions/A'
Target '<COMPONENT1>' has copy command from '/Users/<USER>/Library/Developer/Xcode/DerivedData/<PROJECT_ID>/SourcePackages/artifacts/.../<FW_NAME>/<FW_NAME>.xcframework/macos-arm64_x86_64/<FW_NAME>.framework' to '/Users/<USER>/Library/Developer/Xcode/DerivedData/<PROJECT_ID>/Build/Products/Debug/Frameworks/<FW_NAME>.framework'
Target '<COMPONENT2>' has copy command from '/Users/<USER>/Library/Developer/Xcode/DerivedData/<PROJECT_ID>/SourcePackages/artifacts/.../<FW_NAME>/<FW_NAME>.xcframework/macos-arm64_x86_64/<FW_NAME>.framework' to '/Users/<USER>/Library/Developer/Xcode/DerivedData/<PROJECT_ID>/Build/Products/Debug/Frameworks/<FW_NAME>.framework'
– where <FW_NAME> is a name of the xcframework which is the binaryTarget in the Swift package.
Could someone please explain to me if it is even possible to use xcframeworks packaged in Swift packages in such cases, and if so, how to do it correctly?
When I used VisionPro simulator, I want to get 4K screenshots. So I choose Xcode > I/O > External Displays > 3840x2160 (4K) . After I chose, a new window appears, but the new window is a black screen. When I changed to any resolution, the new window is black.
I can certainly see how many devices hit it but its a but is there enough data here to know if this was a fluke vs "every time x" thing that may be more annoying?
Given at this point my app is only rolled out to a few users the number of devices isn't as useful for telling me which crashes to prioritize. In this screenshot I can tell two devices hit it. But did they only hit it once? Daily?
Topic:
Developer Tools & Services
SubTopic:
Xcode
Hi everyone. I created test-apps years ago. Now I looked into https://icloud.developer.apple.com/dashboard/
There I found these old apps listed.
How do I delete these Apps in the Console and entirely from my account?
I don't have the project files anymore.
All the best! 😊
I used to download and replace the app container when I was testing, essentially downloading the container from the live app, and restoring it into the test app in order to not affect the live app, but to test major changes on "live" data.
it seems the option for downloading and replacing in Xcode no longer works, I will sometimes get a container downloaded, other times it only part downloads. I can never seem to get it to replace. No errors, but it doesn't work on the new device.
It used to be that devices & simulators showed when it was downloading and replacing but it no longer does that.
Is there another way of doing this? Currently I'm having to take a backup of the live phone, restore on the test device, then delete all the unneeded apps, otherwise the restore takes ages, then backup the test device and restore every time I need to restart.
Lcov config file (.lcovrc) is not present in below default locations: ~./lcovrc
How to link manually created lcovrc file to lcov to customise the behaviour of lcov?
I regularly talk to developers debugging hard-to-reproduce problems. I have some general advice on that topic. I’ve posted this to DevForums before, and also sent similar info to folks who’ve opened a DTS incident, but I figured I should write it down properly.
If you have questions or comments, put them in a new thread here on DevForums. Put it in the Developer Tools & Services > General topic area and tag it with Debugging.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
Using a Sysdiagnose Log to Debug a Hard-to-Reproduce Problem
Some problems are hard to reproduce in your office. These usually fall into one of two categories:
Environment specific — This is where some of your users can easily reproduce the problem, but you can’t reproduce it in your environment.
Intermittent — In this case the problem could affect any user, but it’s hard to predict when a given user will see the problem.
A key tool in debugging such problems is the sysdiagnose log. This post explains how to make this technology work for you.
IMPORTANT A sysdiagnose log might contain private information. If you ask a user to send you a log, make sure they understand the privacy impact of that. If you want to see how Apple handles this, run the sysdiagnose command on a fresh Mac and read through it’s initial prompt.
Sysdiagnose Logs
All Apple platforms can generate sysdiagnose logs. For instructions on how to do this, see our Bug Reporting > Profiles and Logs page.
The resulting log is a .tar.gz file. Unpacking that reveals a bunch of files. The most critical of these is system_logs.logarchive, which is a snapshot of the system log. For more information about the system log, including links to the documentation, see Your Friend the System Log.
This log snapshot includes many thousands of log entries (I just took a log snapshot on my Mac and it had 22.8 million log entries!). That can be rather daunting. To avoid chasing your tail, it pays to do some preparation.
Preparation
The goal here is to create a set of instructions that you can give to your user to capture an actionable sysdiagnose log. That takes some preparation.
To help orient yourself in the log, add log points to your code to highlight the problem. For example, if you’re trying to track down a keychain problem where SecItemCopyMatching intermittently fails with errSecMissingEntitlement ( -34018 ), add a log point like this:
import os.log
let log = Logger(subsystem: "com.example.waffle-varnish", category: "keychain")
func … {
let err = SecItemCopyMatching(…)
log.log("SecItemCopyMatching failed, err: \(err)")
}
When you look through a log, find this specific failure by searching for SecItemCopyMatching failed, err: -34018.
You might also add log points at the start and end of an operation, which helps establish a time range of interest.
Log points like this have a very low overhead and it’s fine to leave them enabled in your released product. However, in some cases you might want to make more extensive changes, creating a debug build specifically to help investigate your problem. Think about how you’re going to get that debug build to the affected users. You might, for example, set up a special TestFlight group for folks who’ve encountered this issue.
Go to Bug Reporting > Profiles and Logs and look for debug profiles that might help your investigation. For example, if you’re investigating a Network Extension issue, the VPN (Network Extension) debug profile will enable useful debug logging.
Now craft your instructions for your user. Include things like:
Your take on the privacy impact on this
Instructions on how to get the necessary build of your product
If there’s a debug profile, instructions on how to install that
Instructions on how to trigger the sysdiagnose log
And on how to send it to you
IMPORTANT Make sure to stress how important it is that the user triggers the sysdiagnose immediately after seeing the problem.
Finally, test your steps. Do an initial test in your office, to make sure that the log captures the info you need. Then do an end-to-end test with someone who’s about as technically savvy as your users, to make sure that your instructions make sense to Real People™.
Prompting for a Sysdiagnose Log
In some cases it might not be obvious to the user when to trigger a sysdiagnose log. Imagine you’re hunting the above-mentioned errSecMissingEntitlement error and it only crops up when your product is performing some task in the background. The user doesn’t see that failure, they’re not even running your app!, so they don’t know that action is required.
A good option here is to add code to actively monitor for the failure and post a local notification requesting that the user trigger a sysdiagnose log. Continuing the above example, you might write code like this:
func … {
let err = SecItemCopyMatching(…)
log.log("SecItemCopyMatching failed, err: \(err)")
if err == errSecMissingEntitlement {
… post a local notification …
}
}
Obviously this is quite intrusive so, depending on the market for your product, you might not want to deploy this to all users. Perhaps you can restrict it to your internal testers, or your external beta testers, or a particularly savvy set of customers.
You can use the applefeedback URL scheme to make it easy for users to run Feedback Assistant. For more info about that, see Developer > Bug Reporting.
Looking at the System Log
Once you have your sysdiagnose log, unpack it and open the system log snapshot (system_logs.logarchive) in Console. The hardest part is knowing where to start. That’s why adding your own log entries, as discussed in Preparation, is so important. A good general process is:
Search for log entries from your subsystem. An easy way to initiate that search is to paste the text subsystem:SSS, where SSS is your subsystem, into the Search field. Continuing the above example, find that log entry by pasting in subsystem:com.example.waffle-varnish.
Identify the log entry that indicates the problem and select it.
Then remove your search and work backwards through the log looking for system log entries related to your issue.
The relevant log entries might not be within the time range shown by Console. Customise that by selecting values from the Showing popup in the pane divider. Once you have a rough idea of the timeframe involved, select Custom from that popup to focus on that range.
If the log is showing stuff that’s not relevant to your problem, Console has some great facilities for filtering those out. For the details, choose Help > Console Help.
Talk to Apple
A key benefit of this approach is that, if your investigation suggests that this is a system bug, you can file a bug report and attach this sysdiagnose log to it. The setup described above is exactly the sort of info needed to analyse the bug.
Likewise, if you start a thread here on DevForums about your issue, your friendly neighbourhood DTS engineer will find that sysdiagnose log very handy.
Revision History
2024-11-14 Added a reference to the applefeedback URL scheme. Made other minor editorial changes.
2023-10-13 First posted.
Apple is pushing to use AdAttributionKit, but when I look at various ad networks, their sample code isn't using it. I'd like to find a simple example using a banner add and a third party ad network like admob.
Also, I'm not clear on what post backs really do, or if I need them at all. If anyone can point me to clear documentation that is up to date, that would be great!
Hi, Would love your advice. My app has been ready for months, but I've been trying to pay for the Apple Developer enrolment and I'm not having any luck. I'm in Australia and first I tried all my cards- credit cards, mastercards, visas and debit cards. They would seem to process and be marked as pending and would never process.
I then tried the Apple App Store and all the same cards could make payments there.
I emailed Apple and they said I can use alternative payments on the Apple Developer App. I downloaded the App and then it said that enrolment through the App is not available in my region. I tried on an iphone, ipad and laptop. All the same answer.
Now, I'm not getting a response to my emails to the Apple Developer Help desk.
It's really difficult because my google app has been functional for months and my customers keep asking me when the Apple version will be available.
Have you guys had anything that worked?
Any help or suggestion, gratefully received!
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program