Post

Replies

Boosts

Views

Activity

Auto‑renewable subscription rejected as "unavailable in the current storefront" — products are Waiting for Review but never vend in App Review (watchOS)
I have a watch‑only app (watchOS, shipped as a watchapp2 container pair) whose single auto‑renewable subscription has been rejected multiple times under Guideline 2.1 — most recently 2.1(a), App Completeness, with the reviewer reporting "a subscription is unavailable in the current storefront" on launch. My paywall is Apple's native SubscriptionStoreView, so when the product doesn't load it shows the system "unavailable" state. The binary appears correct, so I believe this is an App Store Connect configuration issue and I'd appreciate help confirming the cause. What I've verified Local StoreKit testing (Xcode .storekit, per TN3185) works: the paywall renders the price and free‑trial offer correctly. Product IDs in code match the configuration file; no simulated load failures. The subscription and its group are Waiting for Review. Price and the free introductory offer are set across all territories, the localization for the app's primary locale is complete, and the review screenshot is uploaded and Complete. The accompanying non‑consumable IAPs are likewise all Waiting for Review. What I observe via the App Store Connect API GET /v1/apps/{appId}/appAvailabilityV2?include=territoryAvailabilities returns contentStatuses: ["CANNOT_SELL", "AVAILABLE_FOR_SALE_UNRELEASED_APP"] for every territory. My review submission contains only one item — the build. The subscription has never appeared as an item in any submission, across all uploaded builds. My questions Does CANNOT_SELL across all territories indicate the Paid Applications Agreement is not yet active (Tax/Banking incomplete)? If so, would that alone cause "subscription unavailable in the current storefront" in App Review, since no IAP can vend until the agreement is in effect? For a first‑time subscription, does it need to be added to the app version under "In‑App Purchases and Subscriptions" and submitted together with the build, so it's reviewed (and reaches Approved) alongside the app? My submissions have only ever contained the build. Environment Platform: watchOS (watch‑only app) Paywall: native SubscriptionStoreView Subscription: one auto‑renewable monthly subscription with a free introductory offer; status Waiting for Review Thank you — happy to provide account‑specific identifiers privately if needed.
0
0
77
4d
CloudKit Server-to-Server Authentication Fails with 401 Error
I'm trying to set up server-to-server authentication with CloudKit Web Services, but keep getting AUTHENTICATION_FAILED errors. I've tried multiple environment settings and debugging approaches without success. What I've Tried I created a Swift script to test the connection. Here's the key part that handles the authentication: // Get current ISO 8601 date let iso8601Formatter = ISO8601DateFormatter() iso8601Formatter.formatOptions = [.withInternetDateTime] let dateString = iso8601Formatter.string(from: Date()) // Create SHA-256 hash of request body let bodyHash = SHA256.hash(data: bodyData).compactMap { String(format: "%02x", $0) }.joined() // Get path from URL let path = request.url?.path ?? "/" // String to sign let method = request.httpMethod ?? "POST" let stringToSign = "\(method):\(path):\(dateString):\(bodyHash)" // Sign the string with EC private key let signature = try createSignature(stringToSign: stringToSign) // Add headers request.setValue(dateString, forHTTPHeaderField: "X-Apple-CloudKit-Request-ISO8601Date") request.setValue(KEY_ID, forHTTPHeaderField: "X-Apple-CloudKit-Request-KeyID") request.setValue(signature, forHTTPHeaderField: "X-Apple-CloudKit-Request-SignatureV1") } I've made a request to this endpoint: What's Happening I get a 401 status with this response: "uuid" : "173179e2-c5a5-4393-ab4f-3cec194edd1c", "serverErrorCode" : "AUTHENTICATION_FAILED", "reason" : "Authentication failed" } What I've Verified The key validates correctly and generates signatures The date/time is synchronized with the server The key ID matches what's in CloudKit Dashboard I've tried all three environments: development, Development (capital D), and production The container ID is formatted correctly Debug Information My debugging reveals: The EC key is properly formatted (SEC1 format) Signature generation works No time synchronization issues between client and server All environment tests return the same 401 error Questions Has anyone encountered similar issues with CloudKit server-to-server authentication? Are there specific container permissions needed for server-to-server keys? Could there be an issue with how the private key is formatted or processed? Are there any known issues with the CloudKit Web Services API that might cause this? Any help would be greatly appreciated!
1
0
294
Mar ’25
MKGeoJSONDecoder and Single Points
https://developer.apple.com/documentation/mapkit/mkgeojsondecoder?changes=__9&language=objc I am trying to use this decoder to obtain single points form a geojson file. I am able to do this successfully however, when using MapKit for iOS 17+ I am unable to use a ForEach to iterate through these points (stored in an array) and display these on the map as a custom annotation or even a marker. MapAnnotation(coordinate: point.coordinate) { VStack { Image(systemName: "mappin.circle.fill") .resizable() .frame(width: 25, height: 25) .foregroundColor(.purple) if let title = point.title { Text(title) .font(.caption) .foregroundColor(.purple) .padding(2) .background(Color.white.opacity(0.8)) .cornerRadius(3) } } }
1
0
276
Mar ’25
Log Into Apple Account
When a user first downloads my application they are prompted to sign into their apple account via a pop up. I have not had this pop up previously, I believe the change occurred after iOS18. I have functions that do a few things: Retrieves userRecordID Retrieves a userprofile(via userrecordid) from cloudkit.
2
0
504
Mar ’25
Multi Polygons MapKit
Is MultiPolygon overlay support going to be integrated with SwiftUI? I have made a post on here previously without a reply :( Any suggestions on how to display multi-polygons within MapKit for SwiftUI(https://developer.apple.com/documentation/mapkit/mappolygon)? At the moment it is not supported and only supported by MapKit for UIKit(https://developer.apple.com/documentation/mapkit/mkmultipolygon).
4
1
1.3k
Nov ’24
MapMultiPolygon
Any suggestions on how to display multi-polygons within MapKit for SwiftUI(https://developer.apple.com/documentation/mapkit/mappolygon)? At the moment it is not supported and only supported by MapKit for UIKit(https://developer.apple.com/documentation/mapkit/mkmultipolygon) . Any idea on how to bridge these over?
1
0
722
Apr ’24
Enable Permissions (iCloud)
Greetings! In my application I request permission from the user to utilize iCloud. func requestPermission() { CKContainer.default().requestApplicationPermission([.userDiscoverability]) { [weak self] returnedStatus, _ in DispatchQueue.main.async { if returnedStatus == .granted { self?.permissionStatus = true } } } } How can I programatically ask for this permission again via a button? Sometimes a user may deny or disable this permission in error. Thank you! :)
2
0
980
Jul ’23
Limits of CloudKit Public Database
Hello! I would like my users to save short videos (under 30seconds 1080p) to the public database for all other users to download and view. Is this possible? Will I run into any storage pricing with Apple if I were to pursue this as my application backend? I am looking at other methods as well (user sharing from their private database) so I can implement video sharing. Is this feasible and worth pursuing?
2
0
1.5k
Jul ’23
Auto‑renewable subscription rejected as "unavailable in the current storefront" — products are Waiting for Review but never vend in App Review (watchOS)
I have a watch‑only app (watchOS, shipped as a watchapp2 container pair) whose single auto‑renewable subscription has been rejected multiple times under Guideline 2.1 — most recently 2.1(a), App Completeness, with the reviewer reporting "a subscription is unavailable in the current storefront" on launch. My paywall is Apple's native SubscriptionStoreView, so when the product doesn't load it shows the system "unavailable" state. The binary appears correct, so I believe this is an App Store Connect configuration issue and I'd appreciate help confirming the cause. What I've verified Local StoreKit testing (Xcode .storekit, per TN3185) works: the paywall renders the price and free‑trial offer correctly. Product IDs in code match the configuration file; no simulated load failures. The subscription and its group are Waiting for Review. Price and the free introductory offer are set across all territories, the localization for the app's primary locale is complete, and the review screenshot is uploaded and Complete. The accompanying non‑consumable IAPs are likewise all Waiting for Review. What I observe via the App Store Connect API GET /v1/apps/{appId}/appAvailabilityV2?include=territoryAvailabilities returns contentStatuses: ["CANNOT_SELL", "AVAILABLE_FOR_SALE_UNRELEASED_APP"] for every territory. My review submission contains only one item — the build. The subscription has never appeared as an item in any submission, across all uploaded builds. My questions Does CANNOT_SELL across all territories indicate the Paid Applications Agreement is not yet active (Tax/Banking incomplete)? If so, would that alone cause "subscription unavailable in the current storefront" in App Review, since no IAP can vend until the agreement is in effect? For a first‑time subscription, does it need to be added to the app version under "In‑App Purchases and Subscriptions" and submitted together with the build, so it's reviewed (and reaches Approved) alongside the app? My submissions have only ever contained the build. Environment Platform: watchOS (watch‑only app) Paywall: native SubscriptionStoreView Subscription: one auto‑renewable monthly subscription with a free introductory offer; status Waiting for Review Thank you — happy to provide account‑specific identifiers privately if needed.
Replies
0
Boosts
0
Views
77
Activity
4d
CloudKit Server-to-Server Authentication Fails with 401 Error
I'm trying to set up server-to-server authentication with CloudKit Web Services, but keep getting AUTHENTICATION_FAILED errors. I've tried multiple environment settings and debugging approaches without success. What I've Tried I created a Swift script to test the connection. Here's the key part that handles the authentication: // Get current ISO 8601 date let iso8601Formatter = ISO8601DateFormatter() iso8601Formatter.formatOptions = [.withInternetDateTime] let dateString = iso8601Formatter.string(from: Date()) // Create SHA-256 hash of request body let bodyHash = SHA256.hash(data: bodyData).compactMap { String(format: "%02x", $0) }.joined() // Get path from URL let path = request.url?.path ?? "/" // String to sign let method = request.httpMethod ?? "POST" let stringToSign = "\(method):\(path):\(dateString):\(bodyHash)" // Sign the string with EC private key let signature = try createSignature(stringToSign: stringToSign) // Add headers request.setValue(dateString, forHTTPHeaderField: "X-Apple-CloudKit-Request-ISO8601Date") request.setValue(KEY_ID, forHTTPHeaderField: "X-Apple-CloudKit-Request-KeyID") request.setValue(signature, forHTTPHeaderField: "X-Apple-CloudKit-Request-SignatureV1") } I've made a request to this endpoint: What's Happening I get a 401 status with this response: "uuid" : "173179e2-c5a5-4393-ab4f-3cec194edd1c", "serverErrorCode" : "AUTHENTICATION_FAILED", "reason" : "Authentication failed" } What I've Verified The key validates correctly and generates signatures The date/time is synchronized with the server The key ID matches what's in CloudKit Dashboard I've tried all three environments: development, Development (capital D), and production The container ID is formatted correctly Debug Information My debugging reveals: The EC key is properly formatted (SEC1 format) Signature generation works No time synchronization issues between client and server All environment tests return the same 401 error Questions Has anyone encountered similar issues with CloudKit server-to-server authentication? Are there specific container permissions needed for server-to-server keys? Could there be an issue with how the private key is formatted or processed? Are there any known issues with the CloudKit Web Services API that might cause this? Any help would be greatly appreciated!
Replies
1
Boosts
0
Views
294
Activity
Mar ’25
MKGeoJSONDecoder and Single Points
https://developer.apple.com/documentation/mapkit/mkgeojsondecoder?changes=__9&language=objc I am trying to use this decoder to obtain single points form a geojson file. I am able to do this successfully however, when using MapKit for iOS 17+ I am unable to use a ForEach to iterate through these points (stored in an array) and display these on the map as a custom annotation or even a marker. MapAnnotation(coordinate: point.coordinate) { VStack { Image(systemName: "mappin.circle.fill") .resizable() .frame(width: 25, height: 25) .foregroundColor(.purple) if let title = point.title { Text(title) .font(.caption) .foregroundColor(.purple) .padding(2) .background(Color.white.opacity(0.8)) .cornerRadius(3) } } }
Replies
1
Boosts
0
Views
276
Activity
Mar ’25
Log Into Apple Account
When a user first downloads my application they are prompted to sign into their apple account via a pop up. I have not had this pop up previously, I believe the change occurred after iOS18. I have functions that do a few things: Retrieves userRecordID Retrieves a userprofile(via userrecordid) from cloudkit.
Replies
2
Boosts
0
Views
504
Activity
Mar ’25
Multi Polygons MapKit
Is MultiPolygon overlay support going to be integrated with SwiftUI? I have made a post on here previously without a reply :( Any suggestions on how to display multi-polygons within MapKit for SwiftUI(https://developer.apple.com/documentation/mapkit/mappolygon)? At the moment it is not supported and only supported by MapKit for UIKit(https://developer.apple.com/documentation/mapkit/mkmultipolygon).
Replies
4
Boosts
1
Views
1.3k
Activity
Nov ’24
MapMultiPolygon
Any suggestions on how to display multi-polygons within MapKit for SwiftUI(https://developer.apple.com/documentation/mapkit/mappolygon)? At the moment it is not supported and only supported by MapKit for UIKit(https://developer.apple.com/documentation/mapkit/mkmultipolygon) . Any idea on how to bridge these over?
Replies
1
Boosts
0
Views
722
Activity
Apr ’24
Enable Permissions (iCloud)
Greetings! In my application I request permission from the user to utilize iCloud. func requestPermission() { CKContainer.default().requestApplicationPermission([.userDiscoverability]) { [weak self] returnedStatus, _ in DispatchQueue.main.async { if returnedStatus == .granted { self?.permissionStatus = true } } } } How can I programatically ask for this permission again via a button? Sometimes a user may deny or disable this permission in error. Thank you! :)
Replies
2
Boosts
0
Views
980
Activity
Jul ’23
Limits of CloudKit Public Database
Hello! I would like my users to save short videos (under 30seconds 1080p) to the public database for all other users to download and view. Is this possible? Will I run into any storage pricing with Apple if I were to pursue this as my application backend? I am looking at other methods as well (user sharing from their private database) so I can implement video sharing. Is this feasible and worth pursuing?
Replies
2
Boosts
0
Views
1.5k
Activity
Jul ’23