Welcome to the Apple Developer Forums

Post your questions, exchange knowledge, and connect with fellow developers and Apple engineers on a variety of software development topics.

For questions about using Apple hardware and services, visit Apple Support Communities

Posts

Sort by:
Post not yet marked as solved
0 Replies
11 Views
I have been having a problem with implementing App Tracking Transparency. Everything works and the pop-up shows during the first launch, but for some reason Apple keeps rejecting it because I do not use App Tracking Transparency to request the user's permission before tracking their activity. I have even explained to them that I have implemented App Tracking Transparency and the pop-up shows at first-launch, but for some reason, there is still an issue. Here is the code where I request App Tracking Transparency: override func viewDidAppear(_ animated: Bool) { if !didFinishSetup { DispatchQueue.main.asyncAfter(deadline: .now() + 0.25) { ATTrackingManager.requestTrackingAuthorization { status in switch status { case .authorized: fallthrough case .denied: fallthrough case .restricted: GADMobileAds.sharedInstance().start(completionHandler: nil) self.mainGadBannerView.adUnitID = "ID" self.mainGadBannerView.rootViewController = self self.mainGadBannerView.load(GAMRequest()) case .notDetermined: ATTrackingManager.requestTrackingAuthorization { status in switch status { case .authorized: fallthrough case .denied: fallthrough case .restricted: GADMobileAds.sharedInstance().start(completionHandler: nil) self.mainGadBannerView.adUnitID = "ID" self.mainGadBannerView.rootViewController = self self.mainGadBannerView.load(GAMRequest()) case .notDetermined: break @unknown default: GADMobileAds.sharedInstance().start(completionHandler: nil) self.mainGadBannerView.adUnitID = "ID" self.mainGadBannerView.rootViewController = self self.mainGadBannerView.load(GAMRequest()) } } @unknown default: GADMobileAds.sharedInstance().start(completionHandler: nil) self.mainGadBannerView.adUnitID = "ID" self.mainGadBannerView.rootViewController = self self.mainGadBannerView.load(GAMRequest()) } } } didFinishSetup = true } } It's pretty much an exact copy of the code except for the "ID" part and that's the only place where I make an ad request. Any ideas why the app is getting rejected even though the App Tracking Transparency pop-up still shows at first-launch?
Posted
by
Post not yet marked as solved
0 Replies
21 Views
Hi all, This is our first app on the App Store. Our team submitted our first app (v1.0) to app store and it was accepted on Feb 3. The App Store Connect email listed out our app name as well as product ids of two subscriptions as approved. We released the app to users and noticed that none of the subscriptions were loading. On checking app store connect - the subscription group was showing up as "Waiting for review" with the following message at top: "A subscription has been returned and is highlighted in the table below." Since this was a poor experience for our initial users, we removed v1.0 from sale as a lot of our functionality is unlocked when a user purchases a subscription. To ensure this wasn't an oversight on our end we created and submitted a new build v1.1 on Sat, Feb 4. This new version was also reviewed and approved. However we still see that all the subscription items and localization rows are "Waiting For Review" with the same message at the top: "A subscription has been returned and is highlighted in the table below." At the moment, we are unsure about what the current status is and what the right next course of action should be. We tried releasing the app (both v1.0 and v1.1) and testing the app flows. Both versions fail to load any subscription info using StoreKit2 APIs. We don't see any subscriptions on the App Store product description page either. The email contents and the App Store Connect dashboard contents were saying different things. Additionally within the subscription group page - the message at the top suggests it was returned while the table below suggests everything is in review. We'd love to get any guidance on this if someone has gone through a similar experience. We also created a ticket on Feedback Assistant: FB11982346 Thanks in advance!
Posted
by
Post not yet marked as solved
0 Replies
8 Views
How would I go about updating to Nginx (1.23.3) for Xcode? I've noticed that even I've updated to the latest version of Xcode (14.2). It still has Nginx (1.21.0) installed. Although, I've downloaded the latest version via Homebrew but it kept it under homebrew directories instead of updating the nginx that lives inside Xcode's directory (Xcode.app/Contents/Developer/usr/shared/xcs/). The files structures for these two versions are also different. I've attempted to replace these files manually but "nginx" binary itself looks for homebrew's directory. Is there a way to make this update inside Xcode itself? Any help will be appreciated.
Posted
by
Post not yet marked as solved
0 Replies
27 Views
Hi, I realized today that my subscription is still waiting for review after 2 month. I don't know how and who I need to contact to solve this issue. Does anyone had this issue before ? I have another subscription too that was approved 1 years ago but my app doesn't use it anymore that's why I created a second one. Thanks !
Posted
by
Post not yet marked as solved
1 Replies
15 Views
Hello there, I was wondering whether or not you are allowed to use SF Symbols in a design report. The design report will be made on Adobe Indesign software. Any symbols will be referenced to Apple Inc.
Posted
by
Post not yet marked as solved
0 Replies
8 Views
On alarm time, the alarm will get from the server and will be played but the alarm ringtone length is up to 2 mint. How can we achieve this? I used silent push notification and try to get toune from the server and play in AVAudioPlayer, it works when the app is in foreground mode but in background mode, it gives an error in getting ringtone Error "Software caused connection abort" What should be the best solution to achieve this?
Posted
by
Post not yet marked as solved
0 Replies
17 Views
When setting ARView's environment camera feed exposure to a negative value to make the camera feed dimmer, for example arView.environment.background = .cameraFeed(exposureCompensation: -3) can this negatively affect ARKit's ability to track the device's localization and mapping capability? That is, is the device's use of the camera for SLAM purposes independent of the exposureCompensation value?
Posted
by
Post not yet marked as solved
0 Replies
10 Views
Hi, I’ve found gpac and mp4box that was mentioned in the HEIF Apple Developer video.. However it only seems to work with converting video to HEIC still images. It’s also very complex. All I need is a tool that can create an HEIC image and add another image to it as a depth buffer. I’ve tried ImageMagick and libeif that has heif-enc but that can’t add the depth buffer. For such a major knew format I feel I must be missing something here ! Any help appreciated.
Posted
by
Post not yet marked as solved
0 Replies
21 Views
Hello everyone, with Weatherkit I want to display the current Temperature using the system temperature unit setting. Text(weather.currentWeather.temperature.formatted(.measurement(width: .narrow))) I have two problems with this code: I ran my code on different simulators: iPhone 14 Pro, iPhone 14 pro max and iPhone 13 Pro Max. On the first simulator it shows a temperature with only number and degree, like 34º, which it supposed to be. But on other two simulators it is shown as 34ºF (system temperature unit set to Fahrenheit). On my actual device it shows again 34º. That makes me very confused. If changed system unit to celsius, the celsius degrees are not rounded, they are like 3,9ºC or 12,3ºC. This is very strange because if its Fahrenheit they are again rounded. With .measurement(width:.narrow) shouldn't they all work under same condition like rounded or not? or can someone help me how can I have this settings work systematically as it should be?
Posted
by
Post not yet marked as solved
0 Replies
12 Views
I am getting so frustrated. I have thousands of clients. I have created a PWA app with HTML5 video as my training content. The way it works is I have written this content using Ionic Angular. I have created a HTML5 tag. with a video src in it. The video is played inline. Whenever a client clicks on a next or previous button it changes the src of the video to another video. It was working. Most of my clients use PCs, but some use MACs or iphones. The macs and iphones use to work but now suddenly there is a problem that the video just stays cached so it never changes. Even if the clients are using Google chrome instead of Safari. It works on all PCs. Can't seem to find an answer on how to fix this. It seems every time apple comes out with a new update to their operating system something in my system breaks. we create our programs using PWA's because we can't change our pricing structures to meet the pricing structures of the apple or the google play stores. and I'm not the best programmer in the world so I do not really understand what is going on here. Is there anyone out there who can help me. thanks so much in advance.
Posted
by
Post not yet marked as solved
0 Replies
23 Views
Xcode GPU Frame Capture shows that "PreZ Test Fails" percent is zero. I can't understand what is wrong.. I drawed the opaque primitives with depth test, no alpha test, no alpha blend. I thought that "Hidden Surface Removal" removes hidden surfaces, so There is no killed fragments by "PreZ Test Kill". But I couldn't find the column about "Hidden Surface Removal". It looks that xcode gpu frame capture doesn't show the data about hidden surface removal. I tested it on iphone 13 mini(ios 16.3), M1 Mac Ventura
Posted
by
Post not yet marked as solved
0 Replies
19 Views
Hi everyone, I am using Reality Composer and it gives me two problems which I can't seem to fix myself. If I open the file it starts in the 2nd scene. (Also the Thumbnail is from 2nd scene objects) It does it consistantly, even if I save it from any other scene. And also throughout multiple projects. 2nd problem I am facing: When I am using Image anchoring, my object will place themselves anywhere too. Is there a way to only make then anchor to the set image? I start my Scene with the same image as the anchor image(and a text: find me), players need to find it, but after that the scene starts, that goes away and I would like the scene to continue at the set location. If players start somewhere else the scene doesn't make sense anymore. Hope someone can help, thanks in advance.
Posted
by
Post not yet marked as solved
1 Replies
20 Views
Hi ! I have this code bellow in my project and I am trying to parse a local JSON file.But it can't get through the line of the if let localData statement. I don't know why.     let id: Int     let title: String     let artist: String     let isOut: String     let label: String     let vinylAudoID: String     let vinylCountry: String     let vinylFormat: String     let vinylID: String     let vinylLocation: String     let year: String } class CodableViewModel: ObservableObject {     @Published var vinyl: VinylModel? = nil          init() {        getData()     }          func getData() {         guard let data = getJSONData() else { return }         if let localData = try? JSONSerialization.jsonObject(with: data,options: []),let dictionary = localData as? [String:Any] {             let id = dictionary["id"] as? Int ?? 1             let title = dictionary["title"] as? String ?? ""             let artist = dictionary["artist"] as? String ?? ""             let isOut = dictionary["isOut"] as? String ?? ""             let label = dictionary["label"] as? String ?? ""             let vinylAudoID = dictionary["vinylAudoID"] as? String ?? ""             let vinylCountry = dictionary["vinylCountry"] as? String ?? ""             let vinylFormat = dictionary["vinylFormat"] as? String ?? ""             let vinylID = dictionary["vinylID"] as? String ?? ""             let vinylLocation = dictionary["vinylLocation"] as? String ?? ""             let year = dictionary["year"] as? String ?? ""             print(title)         }              }          func getJSONData() -> Data? {         if let url = Bundle.main.url(forResource: "*****", withExtension: "json"),let data = try? Data(contentsOf: url) {             return data         } else {             print("DEU RUIM")             return nil         }     }      } any ideas why this is happening? If I put those if lets in separated lines it enters the if let localData but it does not enter the if let dictionary = localData as? [String:Any] thank u
Posted
by
Post not yet marked as solved
0 Replies
17 Views
Hello everyone! Someone share your experience of implementing in-app reviews for iOS. I used the standard scheme with window display using SKStoreReviewController. This window was displayed correctly on the release, the rate was set and I could send it. But when I went to the app store, there was no rating and no review either. About a week has passed, and the review has not appeared there. There was a feeling that the introduction of in-app reviews did not affect the statistics. Does anyone know what this is related to? The application is developed using the "MobiVM" plug-in for AndroidStudio. The code of window asking you to evaluate the application: public class AppStoreReview implements ExternalStoreReview { private final IOSApplication application; public AppStoreReview(IOSApplication application) { this.application = application; } @Override public void invokeReview() { NSOperatingSystemVersion reviewRequirements = new NSOperatingSystemVersion(14, 0, 0); if(NSProcessInfo.getSharedProcessInfo().isOperatingSystemAtLeastVersion(reviewRequirements)) { SKStoreReviewController.requestReviewInScene(application.getUIWindow().getWindowScene()); } else { SKStoreReviewController.requestReview(); } } } Tags #mobidevelop, #libgdx, #robovm, #mobivm, #in-app-reviews, #reviews, #SKStoreReviewController
Posted
by
Post not yet marked as solved
0 Replies
26 Views
Hi, We have two VPN tunnels in macOS devices. when we started third-party VPN, it acquired almost all the traffic from the device in utun5. (this VPN is written in utun socket (BoringTun)) 162.156.0.3/32   utun5       Uc       utun5     When starting our VPN, which has the included route as 162.156.0.3/32 and it acquires the traffic. (this VPN is written in NetworkExtension PackettunnelProvider, ) 162.156.0.3/32   link#28      UCS       utun6 But we are not getting this traffic in utun6. even though both utun6 and utun5 are not getting this traffic, we are not sure where exactly this traffic is going. Ideally, it should go via utun6 as per the route table. Is there a way we can identify where that traffic is going? Below is our understanding while multiple VPNs exist. (Both VPN1 and VPN2 are using systemExtension with PacketTunnelProvider) VPN1 = Full tunnel VPN2 = Full tunnel In this case, only one VPN tunnel will exist, and whoever created it last gets precedence. VPN1 = Full tunnel VPN2 = Split tunnel => includeRoutes: 23.45.12.83 In this case, observed that two tunnels have been created and VPN2 tunnel will get the traffic from 23.45.12.83, and the rest traffic goes via the VPN1 tunnel. VPN1 = Split tunnel => includeRoutes: 23.45.12.83 VPN2 = Full tunnel In this case, two VPN tunnel has been created and   VPN1 gets 23.45.12.83 traffic and the rest will go via VPN2 VPN1 = Split tunnel => includeRoutes: 23.45.12.84 VPN2 = Split tunnel => includeRoutes: 23.45.12.84 This is the case where the same IP traffic is configured in both VPNs. Observed that two VPN tunnels have been created but 23.45.12.84 IP traffic was claimed by the tunnel which is created first. Is there any difference between utun socket and Packettunnel while acquiring the traffic?
Posted
by
Post not yet marked as solved
0 Replies
36 Views
I have this PHP code to connect to apple pay (WEB): $validationPayload = json_encode([ 'merchantIdentifier' => "merchant.com.XXXXXX", 'displayName' => "XXXX", 'initiative' => "web", 'initiativeContext' => "my_domain.com" ]); $response = (new Client())->post('https://apple-pay-gateway-cert.apple.com/paymentservices/startSession', [ 'headers' => [ 'Content-Type' => 'application/json' ], 'body' => $validationPayload, 'cert' => storage_path('apple-pay/certificate.pem'), ]) ->getBody() ->getContents(); return $response; I got the cer file from the payment gateway and import it to my account and activate it. I uploaded the cer file in (Apple Pay Payment Processing Certificate) I converted this cer file to pem by this command: openssl x509 -inform DER -in apple_pay.cer -out certificate.pem When I call the code above I get this error: "cURL error 58: unable to set private key file: '/Users/a/Documents/Sites/ish/storage/apple-pay/certificate.pem' type PEM (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://apple-pay-gateway-cert.apple.com/paymentservices/startSession" So how can I convert the cer(that the payment gave to me by the gateway) to pem ?
Posted
by

Pinned Posts

Categories

See all