Posts under App & System Services topic

Post

Replies

Boosts

Views

Activity

Request Array with AppIntent
Hi everyone, i'm trying to request in a AppIntent an array of strings. But I want to give the user the chance to add more than one String. Yet, I do it so: import AppIntent struct AddHomework: AppIntent { // some Parameters @Parameter(title: "Tasks") var tasks: [String]? @Parameter(title: "New Task") //Only for the special request var input: String? private func collectTasks() async throws -> [String] { var collectedTasks: [String] = tasks ?? [] while true { if !collectedTasks.isEmpty { let addMore = try await $input.requestConfirmation(for: "Möchtest du noch eine Aufgabe hinzufügen?") if !addMore { break } } let newTask = try await $input.requestValue("Please enter your task:") collectedTasks.append(newTask) } return collectedTasks } @MainActor func perform() async throws -> some IntentResult { let finalTasks = try await collectTasks() // some more code return .result() } } But this is not working. The Shortcut is ending without requesting anything. But it is not crashing. I would thankfully for some help.
0
0
320
Feb ’25
Live caller id lookup - Which secret key is used for PIR database HE encryption on test env
Hi, I'm trying to setup PIR service for live caller id lookup (in python but based on swift example: https://github.com/apple/live-caller-id-lookup-example). The swift example provides utilities for database setup and encryption, but I can't find any specification about which key is used for database encryption and how the ios system knows about this key in order to be able to construct the PIR requests. So my question is how does the PIR service communicate the secret key to ios system or vice versa? (specific to the test environment, before onboarding)
0
0
285
Feb ’25
Apple Pay Wallet API Access – Applied a Year AGO and Almost No Progress! Anyone Else?
Hey everyone, I wanted to check if anyone else has faced extreme delays when requesting access to Apple Pay Wallet APIs. It was Oct 11 2024 a year ago since we first applied to enable in-app provisioning for virtual cards in our app and we made 1% progress. For context, we already got access from Google for Google Wallet—it was smooth, professional, and timely. But with Apple… it’s been nothing but an endless cycle of waiting. We followed every step, submitted everything correctly, and even called Apple Developer Support multiple times. Their response? "We've escalated it." Again and again. But there’s no real progress. We’re rerouted, ignored, and left in limbo. At this point, I don’t even know if anyone is actually reviewing these requests. If a business like ours—fully compliant and ready to integrate—can’t even get a response in 150 day, how is this process supposed to work? I’m posting this here because I can’t be the only one. Has anyone else faced this? If you finally got access, how did you do it? Because right now, it feels like Apple Pay in-app provisioning is an impossible goal. Hoping someone from Apple sees this and realizes how broken this process is. We’re just trying to innovate and offer Apple users a great experience—why is it so difficult? Looking forward to hearing from anyone in the community who can help, Thanks! 🙏
0
0
328
Feb ’25
SIGTRAP (#0): Application crash: SIGTRAP (Trace/BPT trap)
Hardware Model: iPhone15,3 Process: fieldserviceapp [14394] Path: Version: 1.0.446605 (446605) Code Type: ARM-64 Parent Process: [1] Date/Time: 2024-12-03 22:01:11.0030 +0530 OS Version: iPhone OS 18.1.1 (22B91) Exception Type: SIGTRAP Exception Codes: #0 Triggered by Thread: 31 Thread 0 name: Thread 0: 0 libsystem_kernel.dylib 0x00000001ecc76688 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x00000001ecc79cb0 mach_msg_overwrite + 424 2 libsystem_kernel.dylib 0x00000001ecc79afc mach_msg + 24 3 CoreFoundation 0x000000019c8b5a84 __CFRunLoopServiceMachPort + 160 4 CoreFoundation 0x000000019c8b5130 __CFRunLoopRun + 1212 5 CoreFoundation 0x000000019c8b4830 CFRunLoopRunSpecific + 588 6 GraphicsServices 0x00000001e88941c4 GSEventRunModal + 164 7 UIKitCore 0x000000019f41aeb0 -[UIApplication _run] + 816 8 UIKitCore 0x000000019f4c95b4 UIApplicationMain + 340 9 fieldserviceapp 0x0000000100e44e60 0x100e34000 + 69216 10 ??? 0x00000001c22a2ec8 0x0 + 7552511688 Thread 1 name: Thread 1: 0 libsystem_kernel.dylib 0x00000001ecc76688 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x00000001ecc79cb0 mach_msg_overwrite + 424 2 libsystem_kernel.dylib 0x00000001ecc79afc mach_msg + 24 3 CoreFoundation 0x000000019c8b5a84 __CFRunLoopServiceMachPort + 160 4 CoreFoundation 0x000000019c8b5130 __CFRunLoopRun + 1212 5 CoreFoundation 0x000000019c8b4830 CFRunLoopRunSpecific + 588 6 Foundation 0x000000019b55c500 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 7 Foundation 0x000000019b55c350 -[NSRunLoop(NSRunLoop) runUntilDate:] + 64 8 UIKitCore 0x000000019f42e358 -[UIEventFetcher threadMain] + 420 9 Foundation 0x000000019b56d6c8 NSThread__start + 724 10 libsystem_pthread.dylib 0x0000000224de937c _pthread_start + 136 11 libsystem_pthread.dylib 0x0000000224de4494 thread_start + 8 Thread 2 name: Thread 2: 0 libsystem_kernel.dylib 0x00000001ecc76688 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x00000001ecc79cb0 mach_msg_overwrite + 424 2 libsystem_kernel.dylib 0x00000001ecc79afc mach_msg + 24 3 CoreFoundation 0x000000019c8b5a84 __CFRunLoopServiceMachPort + 160 4 CoreFoundation 0x000000019c8b5130 __CFRunLoopRun + 1212 5 CoreFoundation 0x000000019c8b4830 CFRunLoopRunSpecific + 588 6 fieldserviceapp 0x0000000101226620 0x100e34000 + 4138528 7 Foundation 0x000000019b56d6c8 NSThread__start + 724 8 libsystem_pthread.dylib 0x0000000224de937c _pthread_start + 136 9 libsystem_pthread.dylib 0x0000000224de4494 thread_start + 8 Thread 3 name: Thread 3: 0 libsystem_kernel.dylib 0x00000001ecc7bf90 __psynch_cvwait + 8 1 libc++.1.dylib 0x00000001ace87584 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 28 2 hermes 0x0000000103788f24 0x1036bc000 + 839460 3 hermes 0x0000000103788e8c 0x1036bc000 + 839308 4 libsystem_pthread.dylib 0x0000000224de937c _pthread_start + 136 5 libsystem_pthread.dylib 0x0000000224de4494 thread_start + 8 Thread 4 name: Thread 4: 0 libsystem_kernel.dylib 0x00000001ecc7bf90 __psynch_cvwait + 8 1 libc++.1.dylib 0x00000001ace87584 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 28 2 hermes 0x0000000103788f24 0x1036bc000 + 839460 3 hermes 0x0000000103788e8c 0x1036bc000 + 839308 4 libsystem_pthread.dylib 0x0000000224de937c _pthread_start + 136 5 libsystem_pthread.dylib 0x0000000224de4494 thread_start + 8 Thread 5 name: Thread 5: 0 libsystem_kernel.dylib 0x00000001ecc7bf90 __psynch_cvwait + 8 1 libc++.1.dylib 0x00000001ace87584 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 28 2 CardReaderWrapperDynamic 0x000000010432e3e4 0x104298000 + 615396 3 CardReaderWrapperDynamic 0x0000000104330a08 0x104298000 + 625160 4 libsystem_pthread.dylib 0x0000000224de937c _pthread_start + 136 5 libsystem_pthread.dylib 0x0000000224de4494 thread_start + 8 Thread 9 name: Thread 9: 0 libsystem_kernel.dylib 0x00000001ecc7bf90 __psynch_cvwait + 8 1 libc++.1.dylib 0x00000001ace87618 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lockstd::__1::mutex&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<(long)1, (long)1000000000> > >) + 100 2 fieldserviceapp 0x0000000101d115fc 0x100e34000 + 15586812 3 fieldserviceapp 0x0000000101e740fc 0x100e34000 + 17039612 4 fieldserviceapp 0x0000000101e6f878 0x100e34000 + 17021048 5 fieldserviceapp 0x0000000101e75e2c 0x100e34000 + 17047084 6 libsystem_pthread.dylib 0x0000000224de937c _pthread_start + 136 7 libsystem_pthread.dylib 0x0000000224de4494 thread_start + 8 Thread 12 name: Thread 12: 0 libsystem_kernel.dylib 0x00000001ecc76688 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x00000001ecc79cb0 mach_msg_overwrite + 424 2 libsystem_kernel.dylib 0x00000001ecc79afc mach_msg + 24 3 CoreFoundation 0x000000019c8b5a84 __CFRunLoopServiceMachPort + 160 4 CoreFoundation 0x000000019c8b5130 __CFRunLoopRun + 1212 5 CoreFoundation 0x000000019c8b4830 CFRunLoopRunSpecific + 588 6 CFNetwork 0x000000019de30ee0 +[__CFN_CoreSchedulingSetRunnable _run:] + 416 7 Foundation 0x000000019b56d6c8 NSThread__start + 724 8 libsystem_pthread.dylib 0x0000000224de937c _pthread_start + 136 9 libsystem_pthread.dylib 0x0000000224de4494 thread_start + 8
0
0
297
Dec ’24
Alternative for deprecated dns_parse_packet
I'm developing in Swift and working on parsing DNS queries. I'm considering using dns_parse_packet, but I noticed that dns_util is deprecated (although it still seems to work in my limited testing). As far as I know, there isn’t a built-in replacement for this. Is that correct? On a related note, are there any libraries available for parsing TLS packets—specifically the ClientHello message to extract the Server Name Indication (SNI)—instead of relying on my own implementation? Related to this post.
0
1
284
Dec ’24
Download ID in AppTransaction
Hello, I would like to draw your attention to the following imperfection. For validating purchases of my paid application Guru Maps Pro, I use the download id. This is a unique ID that can replace the Transaction ID for paid applications. However, with the release of the new AppTransaction API, this field is no longer present in the data. I tried parsing the receipt, but that field is absent there as well. The only way to obtain the download id is to send the receipt to the deprecated /verifyReceipt endpoint. This deprecated status concerns me, because at some point it might stop working. Let me explain a little about why I need this. My users have a guru-account, which they can use both in the web version and on Android. When a user purchases the paid version of the application, they can access the paid features on both web and Android. This works great for in-app purchases, where there is a transaction ID, but it may soon stop working for paid applications because there is no way to determine any ID associated with the purchase. Transaction ID or Download ID – I don't mind which.
0
0
316
Feb ’25
Apple Push Notification service server certificate update
You are probably aware of the upcoming root certificate change for any servers you might have that you use to send push notifications by connection to APNs. If you are not, here is the announcement. We have been getting some questions about this, and understand not everyone is familiar with their server setup. First, we would like to clarify that this is only a change to your server's certificate trust store. You do not need to update anything else, like your APNs push certificates, the build certificates and provisioning profiles for your team/app, and so on. All you need to do is to install the mentioned new root certificate to your push server's trust store. If you are using a 3rd party push provider, it is them who will need to handle their servers. But you may want to double check with them nevertheless. If you are managing your own push servers that connect to APNs directly, then it is your responsibility to download and install the root certificate mentioned in the above link on your server(s). Unfortunately we cannot provide specific instructions on how to install this root certificate on every kind of server out there. Each server operating system/push server software will have different ways these root certificates are installed, which is out of scope of our support abilities. If you are not sure how to do this, I would recommend you seek help for this from your server-side developers or server admins. Or, if you don't have access to such resources, you can ask the support channels for your system the question: How do I install a root certificate? We have setup a test server at 17.188.143.34:443 that you can use to try and send pushes to test whether your new root certificate is correctly installed. An alternative way to test this would be, from a terminal prompt: openssl s_client -connect 17.188.143.34:443 -servername api.sandbox.push.apple.com -verifyCAfile USERTrustRSACertificationAuthority.crt -showcerts Change the parameter to the -verifyCAfile argument to point to your trust store, and it should allow you to validate Sample return results would be: Connecting to 17.188.143.34 CONNECTED(00000003) depth=2 C=US, ST=New Jersey, L=Jersey City, O=The USERTRUST Network, CN=USERTrust RSA Certification Authority verify return:1 depth=1 CN=Apple Public Server RSA CA 11 - G1, O=Apple Inc., ST=California, C=US verify return:1 depth=0 C=US, ST=California, O=Apple Inc., CN=api.sandbox.push.apple.com verify return:1 Argun Tekant /  DTS Engineer / Core Technologies
0
0
2.3k
Jan ’25
Combine delay & switchToLatest publisher don't emit value sometimes
Hello, I recently implemented a conditional debounce publisher using Swift's Combine. If a string with a length less than 2 is passed, the event is sent downstream immediately without delay. If a string with a length of 2 or more is passed, the event is emitted downstream with a 0.2-second delay. While writing test logic related to this, I noticed a strange phenomenon: sometimes the publisher, which should emit events with a 0.2-second delay, does not emit an event. The test code below should have all indices from 1 to 100 in the array, but sometimes some indices are missing, causing the assertion to fail. Even after observing completion, cancel, and output events through handleEvents, I couldn't find any cause. Am I using Combine incorrectly, or is there a bug in Combine? I would appreciate it if you could let me know. import Foundation import Combine var cancellables: Set<AnyCancellable> = [] @MainActor func text(index: Int, completion: @escaping () -> Void) { let subject = PassthroughSubject<String, Never>() let textToSent = "textToSent" subject .map { text in if text.count >= 2 { return Just<String>(text) .delay(for: .seconds(0.2), scheduler: RunLoop.main) .eraseToAnyPublisher() } else { return Just<String>(text) .eraseToAnyPublisher() } } .switchToLatest() .sink { if $0.count >= 2 { completion() } }.store(in: &cancellables) for i in 0..<textToSent.count { let stringIndex = textToSent.index(textToSent.startIndex, offsetBy: i) let stringToSent = String(textToSent[textToSent.startIndex...stringIndex]) subject.send(stringToSent) } } var array = [Int]() for i in 1...100 { text(index: i) { array.append(i) } } DispatchQueue.main.asyncAfter(deadline: .now() + 5) { for i in 1...100 { assert(array.contains(i)) } } RunLoop.main.run(until: .now + 10)
0
0
398
Feb ’25
AppleScript help
Hello everyone, I would like to use AppleScript to transform a .csv file. To make things easier to understand, I'm attaching two files: 1- The original file in csv format 2- The file as I'd like it to look after I've run it through the script. Here are the steps involved 1-Open the file in numbers (Note: the file is located in the download folder). 2-Delete the first 6 lines 3-Delete all font styles and cell colors 4-Combine all cells in the nature of operation column of the same operation belonging to the same date in the first cell of the operation, deleting all spaces in the text is not necessary for each operation. 5- Delete all empty lines. I hope I've made my request clear. If any of you have the knowledge to do this, if it can be done at all, I'd be very grateful for their help in writing the script. Thank you in advance. 1.csv 2.csv
0
0
416
Feb ’25
The app icon is not appearing under the "From Apps on Your iPhone" section in Apple Wallet.
Hello, We are integrating Apple Wallet functionality using the Thales SDK. While we’ve successfully implemented In-App provisioning, we are encountering an issue with the Wallet Extension. I followed the documentation provided here to implement the Apple Wallet Extension: https://developer.dbp.thalescloud.io/docs/d1-developer-portal/ab10ea4059dx1-apple-wallet-extension I’ve implemented everything as per the guide, but I’m still unable to see my app logo in the Wallet Extension under "From Apps on Your iPhone." Could anyone help identify what might be missing or point me in the right direction to resolve this issue. Thanks!
0
0
481
Dec ’24
Generating ephemeralPublicKey for in-app provisioning
I am developing an app to add Discover cards to Apple Wallet. Unlike Visa, MasterCard, etc., Discover does not have APIs that return activationData, encryptedPassData and ephemeralPublicKey for a given card, so I have created a backend server to handle this. In my server, I am unsure how to generate the ephemeralPublicKey. Do I need to use the merchant certificate? If so, how do I use it to generate the ephemeralPublicKey? I would appreciate it if someone could provide me with a step-by-step guide on how to generate ephemeralPublicKey for provisioning a card.
0
0
291
Feb ’25
Apple developer ID and apple wallet
Can i, personally, create .pkpass for other companies using my apple developer ID? In order to create .pkpass, I need to create passTypIdentifier and teamIdentifier using apple developer ID Is it okay to create those two identifiers and create coupons or membership cards for other companies? I just wonder if it is against the law or developer guide.
0
0
145
Feb ’25
Inquiries about API SERVER Notification
Inquire the types of notifications that can occur in a SANDBOX environment Hello, WWDC 2024 is trying to conduct a test to receive notifications related to ONE_TIME_CHARGE, CONNSUMPTION_REQUEST, CONMSUMPTION_INFO, REFUND, and REFUND_DECLINED as described in the example of purchasing consumables, but as a result of the continuous search, I found that it is difficult to occur except for ONE_TIME_CHARGE. So, in order to verify only the business logic as shown below, we are testing only the business logic without actually calling the API after purchasing the test and saving the signaled Payload that we received in response to ONE_TIME_CHARGE. Can we actually request a refund for the test purchase and receive the corresponding notification and actually send the response? public void handleSignedNotification(String signedNotification) throws Exception { ResponseBodyV2DecodedPayload payload = signedDataVerifier.verifyAndDecodeNotification(signedNotification); NotificationTypeV2 type = payload.getNotificationType(); //For Apple Server Notification, only ONE_TIME_CHARGE notifications are enabled in the test environment, so for testing, change them as below to test whether they are running business logic type = NotificationTypeV2.REFUND; log.info("Apple NotificationType : {}", type); switch (type) { case CONSUMPTION_REQUEST: handleConsumptionRequest(payload); break; case REFUND: handleRefund(payload); break; case REFUND_DECLINED: handleRefundDeclined(payload); break; // For other necessary notifications, just take a log default: log.info("Unhandled notification: {}", type); } } Regarding the call of 'CONSUMPTION_INFO', which is the response of 'CONSUMPTION_REQUEST' Is there a value that WWDC 2024 must include when sending CONMSUMPTION_INFO, which is the response to CONNSUMPTION_REQUEST described in the refund example? I'm going to call the API with only sample provision and consumption like the sample code you introduced in the video. I was told to submit my refund preference within 12 hours, but can I submit it as UNDECLARED at first and use the method to express my intention? When I receive the notification, I will save it in the DB and save it in the administrator page of the service so that the administrator can choose. 2-1. Some of the materials I looked for are told that Apple can proceed with the refund even 12 hours ago, and to express your opinion as soon as I receive the notification, but I wonder if this is correct. If you get a notification as below, you should write whether you used it or not by referring to the consumption information. I think the customer said to check whether the data was provided when applying for a refund. Should I take it out of decodedTransaction, check the value, and just call it NO_PREFERENCE? I'd appreciate it if you could give me some advice. Below is a part of the code I implemented. private void handleConsumptionRequest(ResponseBodyV2DecodedPayload notification) throws Exception { // 1. transaction ID get String signedTransactionInfo = notification.getData().getSignedTransactionInfo(); JWSTransactionDecodedPayload decodedTransaction = signedDataVerifier.verifyAndDecodeTransaction(signedTransactionInfo); String transactionId = decodedTransaction.getTransactionId(); // 2. Extract the relevant transaction (The following example is an in-app payment and will be accumulated in two types of DBs, stored in one of the two) Sample sample = sampleService.findByAppleTransactionId(transactionId); Example example = exampleService.findByAppleTransactionId(transactionId); Boolean canRefund = false; // 3. Check consumption information if (sample != null) { canRefund = checkSampleStatusForApplePurchaseRefund(sample); } else if (example != null) { canRefund = checkExampleStatusForApplePurchaseRefund(example); } // 4. Create Refund Preferences RefundPreference refundPreference = determineRefundPreference(canRefund); // 5. Creating a ConsumptionRequest Object ConsumptionRequest request = new ConsumptionRequest() .refundPreference(refundPreference) .sampleContentProvided(true); log.info("forTest~ canRefund: {}", canRefund); log.info("forTest~ sample: {}", sample.toString()); log.info("forTest~ example: {}", example.toString()); log.info("forTest~ refundPreference: {}", refundPreference); log.info("forTest~ request: {}", request); // 6. Transfer to App Store (annotated with dummy requests that only confirm current business requests are going right) // appStoreServerAPIClient.sendConsumptionData(transactionId, request); }
0
0
326
Feb ’25
Devices sometimes do not fetch updated Wallet passes
Hello, I'm using Apple Wallet passes with a custom backend for distributing and updating them, as described in the documentation (https://developer.apple.com/documentation/walletpasses). I'm sometimes seeing a behaviour where the device does not download an updated pass even though the push notification for informing about the changes has been successfully sent (I've received a success response from APNs). APNs documentation says that it should retry sending the notification if the device is not reachable, but in the cases I'm describing here, the request from the device to fetch the updated pass never arrives. I don't have the apns-expiration header set. Also, I've checked the load balancer and firewall logs, etc. and there are no traces of the requests. Any thoughts on what might be the issue here? Or how to debug this further?
0
1
377
Dec ’24
Extension merchant sertificate
Hi. I am writing to request clarification regarding the renewal period of the merchant certificate. According to the documentation, Apple issues merchant certificates for 25 months, and this has been the case for several years. However, in the past six months, the issued certificates have been valid for only 3 months, which causes significant inconvenience. I have reviewed the documentation again and contacted support, but I was only referred back to the same information stating that the certificate should be valid for 25 months. Could you please clarify whether there have been any recent changes to the renewal policy? Additionally, is there a way to extend the certificate's validity to the expected 25-month period? I would greatly appreciate your assistance in resolving this issue.
0
0
205
Jan ’25
Possible to access CoreData/Persistent storage from DeviceActivityReportExtension?
This is more a general question of whether it is possible to share persistent/coredata from the main app to Screentime-related extensions such as DeviceActivityReportExtension. I've set my code up (e.g., App Groups, files to different targets, using nspersistentcontainer with app group url, etc.) in a way that it builds, and the extension seems to recognize my CoreData schema (able to query using fetchrequest). But the data returned is always null. So i'm wondering if it is even possible to READ app data from the extension. I understand it is not possible to write or pass data from the extension back to the app. I've also been able to read data that was saved in main app from UserDefaults in my extension.
0
0
441
Dec ’24
App disappears after pkg installation
We're running into an issue with our pkg bundle where the main .app file disappears after installation and wanted to see if anyone has an idea about what would cause it. We have a pkg bundle with three separate apps, one primary app and two supporting apps. We distribute this pkg bundle directly to our users, who will manually install it on their devices (rather than through the app store). The installation itself will usually complete without any issues, and we aren't seeing anything in the install or system logs indicating that it was removed afterward (our postinstall script checks that all of the files exist and are in the correct locations), but after the installation the main app disappears while the rest of the files (including the supporting apps) we lay down are still present. Sometimes it will fail with an error similar to this: 2024-10-02 09:43:07-04 MBA-L-8114 installer[9894]: Error getting application status info for file:///Applications/.hiddenfolder/app1.app: Error Domain=NSCocoaErrorDomain Code=260 "The file "app1.app" couldn't be opened because there is no such file." UserInfo={NSURL=file:///Applications/.hiddenfolder/app1.app, NSFilePath=/Applications/.hiddenfolder/app1.app, NSUnderlyingError=0x6000026a0d50 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}} This only happens on certain computers, but on those computers it will happen consistently. We have noticed that it seems to happen more often with computers that are MDM configured. So far we’ve investigated permissions issues with the build process, installation script issues, and signing/notarizing, but have not found anything that might cause this issue. We did verify that we’re setting BundleIsRelocatable NO in the plist file for our package, so in theory it shouldn’t be trying to move the app after installation (we don't see the main app anywhere on the device so macOS doesn't seem to be moving it). We have another post going into more technical detail here: https://developer.apple.com/forums/thread/769443
0
0
209
Jan ’25
Launch URL
Hi I am developing a game app with Epic Unreal Engine. I am testing this as testFlight these days. My problem is “launch URL” what a function in Unreal Engine. This is a function that allows user to search the Internet with the entered URL. It worked well before. But not now. I don't know when it did start not working. It's like after the iPhone IOS update or the Xcode update. Mac sequoia 15.1.1 Xcode 16.2 ( Unreal Engine 5.4.4 ) IOS is 18.2. but It didn't work since the just previous version. Any advice can I get?
0
0
263
Dec ’24