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!
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
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!
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?
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?
I have uploaded my app to App Store Connect TestFlight. Then I have downloaded it in TestFlight on my iPad. But the app always crashes a few seconds after opening. It seems to be always the same issue. I have a few crash reports in App Store Connect-->App name-->TestFlight-->Feedback-->Crashs.
I have opened a crash report in Xcode but I don´t find the error that causes the crash. How can I find the error in Xcode? Is it possible to find the class and line in the class where the crash happened?
In addition, how can I export a crash report from Xcode?
The crash doesn´t happen in debug mode on my iPad, it only happens when I install and open my app after downloading it from TestFlight on my iPad.
Hi everyone!
I recently developed an app (sort of a social media app), built in React Native Expo. I have finally after months of coding, completed the App. It works completely fine and passes all my testcases on multiple devices. It has also passed Apples review and after a few tries become stable on all their devices. However, when I released it to TestFlight, it opens and crashes immediately? I have tried numerous fixes, error boundaries etc. but to no avail.
I am really struggling here, I can't seem to replicate the error at all even in Xcode. It seems to just crash on open where the splashscreen flashes, not sure why? I have attached the crash report and redacted the TEAM_ID and DEVICE_ID. Any help would be greatly appreciated.
Warm regards,
Hassan | Founder @ Oneforge
GymBuddiesConnect-2025-01-21-013038.txt
I regularly see questions from folks who’ve run into problems with their third-party IDE on macOS. Specifically, the issue is that their IDE is invoking Apple’s command-line tools — things like clang and ld — and that’s failing in some way. This post collects my ideas on how to investigate, and potentially resolve, issues like this.
If you have any questions or comments, please put them in a new thread here on DevForums. Tag it appropriately so that I see it. Good tags include Compiler, Linker, LLVM, and Command Line Tools.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
Investigating Third-Party IDE Integration Problems
Many third-party IDEs rely on Apple tools. For example, the IDE might run clang to compile C code or run ld to link object files. These IDEs typically don’t include the tools themselves. Rather, they rely on you to install Xcode or Apple’s Command Line Tools package. These are available at Apple > Developer > Downloads
Occasionally I see folks having problems with this. They most typically report that basic stuff, like compiling a simple C program, fails with some mysterious error. If you’re having such a problem, follow the steps below to investigate it.
IMPORTANT Some IDEs come with their own tools for compiling and linking. Such IDEs are not the focus of this post. If you have problems with an IDE like that, contact its vendor.
Select Your Tools
macOS has a concept of the current command-line tools. This can either point to the tools within Xcode or to an installed Command Line Tools package. To see which tools are currently selected, run xcode-select with the --print-path argument. This is what you’ll see if you have Xcode installed in the Applications folder:
% xcode-select --print-path
/Applications/Xcode.app/Contents/Developer
Note All of the tools I discuss here are documented in man pages. If you’re not familiar with those, see Reading UNIX Manual Pages.
And this is what you’ll see with a Command Line Tools package selected.
% xcode-select --print-path
/Library/Developer/CommandLineTools
There are two common problems with this:
It points to something you’ve deleted.
It points to something unexpected.
Run the command above to see the current state. If necessary, change the state using the --switch option. For example:
% xcode-select --print-path
/Applications/Xcode.app/Contents/Developer
% clang -v
Apple clang version 14.0.3 (clang-1403.0.22.14.1)
…
% sudo xcode-select --switch ~/XcodeZone/Xcode-beta.app
% clang -v
Apple clang version 15.0.0 (clang-1500.0.38.1)
…
I have Xcode 14.3 in the Applications folder and thus clang runs Clang 14.0.3. I have Xcode 15.0b5 in ~/XcodeZone, so switching to that yields Clang 15.0.0.
It’s possible to run one specific command with different tools. See Select Your Tools Temporarily, below.
Run a Simple Test
A good diagnostic test is to use the selected command-line tools to compile a trivial test program. Consider this C [1] example:
% cat hello.c
#include <stdio.h>
int main(int argc, char ** argv) {
printf("Hello Cruel World!\n");
return 0;
}
% clang -o hello hello.c
% ./hello
Hello Cruel World!
IMPORTANT If possible, run this from Terminal rather than, say, over SSH.
You may need to expand this test program to exercise your specific case. For example, if your program is hitting an error when it tries to import the Core Foundation framework, add that import to your test program:
% cat hello.c
#include <stdio.h>
#include <CoreFoundation/CoreFoundation.h>
int main(int argc, char ** argv) {
printf("Hello Cruel World!\n");
return 0;
}
When you compile your test program, you might see one of these results:
Your test program compiles.
Your test program fails with a similar error.
Your test program fails with a different error.
I’ll explore each case in turn.
[1] For a C++ example, see C++ Issues, below.
If your test program compiles…
If your test program compiles from the shell, that proves that your basic command-line tools setup is fine. If the same program fails to compile in your IDE, there’s something IDE-specific going on here. I can’t help you with that. I recommend that you escalate the issue via the support channel for your IDE.
If your test program fails with a similar error…
If your test program fails with an error similar to the one you’re seeing in your IDE, there are two possibilities:
There’s a bug in your test program’s code.
There’s an environmental issue that’s affecting your command-line tools setup.
Don’t rule out the first possibility. I regularly see folks bump into problems like this, where it turns out to be a bug in their code. For a specific example, see C++ Issues, below.
Assuming, however, that your test program’s code is OK, it’s time to investigate environmental issues. See Vary Your Environment, below.
If your test program fails with a different error…
If your test program fails with a different error, look at the test program’s code to confirm that it’s correct, and that it accurately reflects the code you’re trying to run in your IDE.
Vary Your Environment
If your test program fails with the same error as you’re seeing in your IDE, and you are sure that the code is correct, it’s time to look for environmental factors. I typically do this with the steps described in the next sections, which are listed from most to least complex.
These steps only tell you where things are going wrong, not what is going wrong. However, that’s often enough to continue the investigation of your issue.
Vary Your Shell
Try running your commands in a different shell. macOS’s default shell is zsh. Try running your commands in bash instead:
% bash
…
bash-3.2$ clang -o hello hello.c
bash-3.2$ ./hello
Hello Cruel World!
Or if you’ve switched your shell to bash, try it in zsh.
Vary Your User Account
Some problems are caused by settings tied to your user account. To investigate whether that’s an issue here:
Use System Settings > Users & Groups to create a new user.
Log in as that user.
Run your test again.
Vary Your Mac
Some problems are system wide, so you need to test on a different Mac. The easiest way to do that is to set up a virtual machine (VM) and run your test there. Or, if you have a separate physical Mac, run your test on that.
Vary Your Site
If you’re working for an organisation, they may have installed software on your Mac that causes problems. If you have a Mac at home, try running your test there.
It’s also possible that your network is causing problems [1]. If you have a laptop, try taking it to a different location to see if that changes things.
[1] I rarely see this when building a simple test program, but it do see it with other stuff, like code signing.
C++ Issues
If you’re using C++, here’s a simple test you can try:
% cat hello.cpp
#include <iostream>
int main()
{
std::cout << "Hello Cruel World!\n";
}
% clang++ -o hello hello.cpp
% ./hello
Hello Cruel World!
A classic problem with C++ relates to name mangling. Consider this example:
% cat hello.c
#include <stdio.h>
#include "hello-core.h"
int main(int argc, char ** argv) {
HCSayHello();
return 0;
}
% cat hello-core.cpp
#include "hello-core.h"
#include <iostream>
extern void HCSayHello() {
std::cout << "Hello Cruel World!\n";
}
% cat hello-core.h
extern void HCSayHello();
% clang -c hello.c
% clang++ -c hello-core.cpp
% clang++ -o hello hello.o hello-core.o
Undefined symbols for architecture x86_64:
"_HCSayHello", referenced from:
_main in hello.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
The issue here is that C++ generates a mangled name for HCSayHello:
% nm hello-core.o | grep HCSayHello
0000000000000000 T __Z10HCSayHellov
whereas C uses the non-mangled name:
% nm hello.o | grep HCSayHello
U _HCSayHello
The fix is an appropriate application of extern "C":
% cat hello-core.h
extern "C" {
extern void HCSayHello();
};
Select Your Tools Temporarily
Sometimes you want to temporarily run a command from a particular tools package. To continue my earlier example, I currently have Xcode 14.3 installed in the Applications folder and Xcode 15.0b5 in ~/XcodeZone. Xcode 14.3 is the default but I can override that with the DEVELOPER_DIR environment variable:
% clang -v
Apple clang version 14.0.3 (clang-1403.0.22.14.1)
…
% DEVELOPER_DIR=~/XcodeZone/Xcode-beta.app/Contents/Developer clang -v
Apple clang version 15.0.0 (clang-1500.0.38.1)
…
Revision History
2025-01-27 Remove the full width characters. These were a workaround for a forums platform bug that’s since been fixed. Made other minor editorial changes.
2023-07-31 First posted.
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
xcselect
Compiler
Linker
Command Line Tools
I am trying to get my app deployed to an iOs device (iphone 14) from Visual Studio on Windows 11. If the device I am trying to deploy to is included in https://developer.apple.com/account/resources/devices/list then I see below error in Visual Studio logs.
Xamarin.Messaging.IDB.AppleProvisioningManager Error: 0 : Xamarin.MacDev.AppleSigning.AppleServerException: A device with number '0000xxxx-0014093926Bxxxx' already exists on this team.
at Xamarin.MacDev.AppleSigning.AppStoreDeveloperPortal.d__42.MoveNext() in D:\a_work\1\s\External\maciostools\Xamarin.MacDev.AppleSigning\AppleDeveloperPortal\AppStoreDeveloperPortal.cs:line 913
If I disable it I see below error in Visual Studio logs:
Xamarin.Messaging.Client.MessagingClient Error: 0 : An error occurred on the receiver while executing a post for topic xvs/idb/auto-provision and client vs26896sv3
Xamarin.Messaging.Exceptions.MessagingRemoteException: An error occurred on client xxxxxxx while executing a reply for topic xvs/idb/auto-provision ---> Newtonsoft.Json.JsonSerializationException: Error converting value {null} to type 'System.DateTime'. Path 'data.attributes.addedDate', line 6, position 24
I am seeing no option to completely remove the device from the list. How can this issue be fixed?
Topic:
Developer Tools & Services
SubTopic:
General
I'm experiencing an inconsistent behavior with the App Tracking Transparency (ATT) prompt in my Cordova iOS app using the admob-plus-cordova and cordova-plugin-consent plugins.
Environment:
Cordova iOS app
Plugins: admob-plus-cordova, cordova-plugin-consent
iOS Simulator: 16.0
Physical device: iphone 12 17.5.1
Xcode version: 16.2
Issue:
The ATT permission prompt appears correctly in the iOS Simulator but fails to show on physical devices. I've verified that:
Info.plist includes NSUserTrackingUsageDescription
The ATT request is triggered before initializing AdMob
The device is running iOS 14.5 or later
Expected behavior:
ATT prompt should appear on first launch on physical devices (as it does in the simulator)
Actual behavior:
ATT prompt appears correctly in simulator [attach your screenshot]
ATT prompt never appears on physical device
Troubleshooting steps tried:
Verified app hasn't previously requested ATT permission
Confirmed tracking is enabled in device Settings -> Privacy -> Tracking
Verified implementation order (ATT request before AdMob initialization)
Any insights on why this might be happening or additional debugging steps would be greatly appreciated.
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
iOS
Simulator
Privacy
App Tracking Transparency
Description
When starting the iOS simulators on macOS-15 intel image, the following assertion happens: The same issue not showing for macOS 15-arm64 image. Here is the issue details: https://github.com/actions/runner-images/issues/10925 raised by multiple users.
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert, value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.
The Simulators worked fine the day before the above issue was posted. What changed? Did something update?
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
Feedback Assistant
macOS
Virtualization
Simulator
Hi team,
we have a large-scale application in use that sends bulk emails to thousands of users. We adhere to all standard guidelines and protocols, and our email addresses are whitelisted to ensure they are not considered spam.
Our users create email alerts on our platform and receive notifications on their respective email addresses. These communications are not unknown, spam, or unsolicited marketing. To maintain trust with our users, we provide an unsubscribe feature as per RFC2369-compliant.
We have added list unsubscribe headers with mailTo implementation and sent it to outlook/gmail accounts. However, when unsubscribed, the email seems to be having the encoded characters as is. Whereas the same is working fine in other email clients without any encodings.
The headers were implemented according to the List-Unsubscribe headers as specified in the IETF RFC and our emails are purely transactional in nature.
This is a critical issue for a large organization like ours and while it works properly on Gmail web and mobile, it is essential for us to check with Apple Mail client as well. This situation undermines our commitment to user trust and compliance.
Can anybody assist me why the encoding is showing up?
Would like to know whats the process involved to enable the unsubscribe button in Apple mail client application?
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!
When I try to run a simple executable from Cmake, I get this error.
dyld[5005]: dyld cache '(null)' not loaded: syscall to map cache into shared region failed
dyld[5005]: Library not loaded: /usr/lib/libSystem.B.dylib
Referenced from: <7EB1C677-BB05-338C-8B29-CC2803CB8C21> /Users/pop/Desktop/Lang
Reason: tried: '/usr/lib/libSystem.B.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/lib/libSystem.B.dylib' (no such file), '/usr/lib/libSystem.B.dylib' (no such file, no dyld cache), '/usr/local/lib/libSystem.B.dylib' (no such file)
I have tried looking for my file
sudo find / -name libSystem.B.dylib
but not luck.
I am using an M1 chip and Ventura 13.1. Please ask for more details if you need them, as I really have no idea what to do about my problem.
I cannot find this specific KDK for my build 22H417. I need help locating and downloading this Developer Kit.
Error Domain=KMErrorDomain Code=34 "Missing Developer Kit: As of macOS 13.0, you will need to install a KDK matching your build 22H417 to rebuild kernel collections." UserInfo={NSLocalizedDescription=Missing Developer Kit: As of macOS 13.0, you will need to install a KDK matching your build 22H417 to rebuild kernel collections.}
I
Hi
Would someone happen to know how to solve the problem when installing Concorde.jl in julia:
(@v1.11) pkg> add Concorde
Resolving package versions...
No Changes to ~/.julia/environments/v1.11/Project.toml
No Changes to ~/.julia/environments/v1.11/Manifest.toml
Precompiling project...
✗ Concorde
0 dependencies successfully precompiled in 2 seconds. 238 already precompiled.
1 dependency errored.
For a report of the errors see julia> err. To retry use pkg> precompile
(@v1.11) pkg> build Concorde
Building Concorde → ~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/5d9f1b1a480235ffdd3c8ab8cab011aa9afe81af/build.log
ERROR: Error building Concorde, showing the last 100 of log:
x ./concorde/TOOLS/prob2tsp.c
x ./concorde/TOOLS/showres.c
...
x ./concorde/VERIFY/Makefile.in
x ./concorde/README
loading cache ./config.cache
checking host system type... Invalid configuration darwin': machine darwin' not recognized
checking for prespecified compiler options... no
checking for gcc... (cached) gcc
checking whether the C compiler (gcc -fPIC -O2 -g ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.
ERROR: LoadError: failed process: Process(bash -c "CFLAGS='-fPIC -O2 -g' ./configure --with-qsopt=/Users/poss/.julia/packages/Concorde/VRfqN/deps/qsopt --host=darwin", ProcessExited(1)) [1]
It seems to be related to the M3 processor as I have the same error on another Mac with that processor, while the M2 I tried on could install the package properly.
It is related to my C compiler, but the latter works, despite the error "checking whether the C compiler (gcc -fPIC -O2 -g ) works... no"
poss@Mac-de-Michael ~ % gcc --version
Apple clang version 16.0.0 (clang-1600.0.26.6)
Target: arm64-apple-darwin24.1.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
poss@Mac-de-Michael ~ % gcc -fPIC -O2 -g test.c
Best,
Michaël.
Topic:
Developer Tools & Services
SubTopic:
General
Hi all,
First time trying to upload a game to the App Store, having some trouble with it.
I have managed to build my Unity Project and get it onto Xcode, but when I click "distribute app" it is giving me this error.
Asset validation failed, Invalid Bundle. The bundle at
(app name).app/Frameworks/UnityFramework.framework' contains disallowed file 'Frameworks'.
Xcode version 16.2
Unity editor version 2022.3.30f1
Anyone know how to get past this? Many thanks!
I have developed an app that I had been testing on the hardware device with the developer profile signed builds, I had setup a CloudKit container in development mode and also had tested with Production mode and they are working as expected. I have also tested storekit auto renewal subscriptions using Storekit Config file and all of that is working on the hardware device with the developer profile signed builds.
Now comes the Fun Part, I want to use the Distribution profile to test the app for production readiness, I had created a distribution profile and had set that up in the Release under target of the app in Xcode, I have also created sandbox tester account (which is showing inactive even after 7 days - though I am also logged in with this sandbox tester account on a hardware device and under developer setting it shows as a sandbox tester account)
All the subscriptions are showing Ready to Submit in the App Store Connect.
I need help understand this whole flow, how to ensure I can test CloudKit and storekit for production readiness and then publish my app for the review.
Thank you.
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
Subscriptions
Developer Tools
CloudKit
StoreKit
Here's a simple C++ program that echoes its arguments...
#include <stdio.h>
int main(int argc, char* argv[])
{
for (int i=0; i<argc; ++i) printf("%d %s\n", i, argv[i]);
}
This works as expected...
> ./test arg1 #arg2 arg3
0 ./test
1 arg1
2 #arg2
3 arg3
Running under lldb gives this...
> lldb ./test arg1 #arg2 arg3
(lldb) target create "./test"
Current executable set to '/Users/richard/Work/test' (arm64).
(lldb) settings set -- target.run-args "arg1" "#arg2" "arg3"
(lldb) run
Process 6138 launched: '/Users/richard/Work/test' (arm64)
0 /Users/richard/Work/test
1 arg1
Process 6138 exited with status = 0 (0x00000000)
I get the same if I quote the arguments, or if I add them to the run line. Stepping into main() we see the argv and args values are as though we only had the first argument. If I quote the second argument and add an initial space " #arg1" then it works.
I first saw this on an M1 running Sequoia 13.1. It am now on OS 13.3.
lldb --version
lldb-1600.0.39.109
Apple Swift version 6.0.3 (swiftlang-6.0.3.1.10 clang-1600.0.30.1)
One of the libraries that makes up my application depends on -undefined dynamic_lookup to link, and has since at least Snow Leopard if not earlier. I think iOS hasn't liked this for a while, but with the new linker I'm getting deprecation warnings even on OS X. I don't entirely understand what this flag does, other than it makes the build successful. :) So I'm at a loss on how to even approach fixing it. At this point, even links to useful resources would be appreciated, since googling hasn't yielded much beyond "remove -undefined to quiet the deprecation warning."
FWIW, there is a bit of circular dependence between this library and another. On another OS, we need a carefully choreographed dance of building object files, then import libraries, then final linking to make this all work. So I suspect this may be related, but even if I'm correct, I don't know what would be the equivalent tools on Apple platforms.
Hello!
We would like to know the steps required to build an application and submit it to the Apple Store using an automated process on a server.
Here are our conditions:
We have a server running macOS Sonoma 14.6.1 on Amazon EC2.
Xcode 16.1 (Build version 16B40) is installed.
We use only console commands, as the GUI is not available.
We use Cordova to add the iOS platform to the application.
A private key, certificate, and provisioning profile have already been created and are located on the server.
Could you please clarify:
What commands are needed to configure the Keychain to use the certificate and provisioning profile?
How can we build the application using xcodebuild?
What are the steps to sign and submit the application to the App Store with minimal human interaction?
Thank you in advance for your assistance!