We have in-app purchases live and working fine for standard subscriptions.
We also have promotional offers active for existing users (to give existing users a discount as a thank you).
Yet, regardless of the user type (existing vs new... we have tested with all types), we get the "Your account is not eligible for this offer" error message when clicking the discounted offer.
What is the logic for determining eligibility?
I'm trying to debug as it's not clear to me why this message would show up.
We are using React Native IAP.
In general, how does the eligibility check work? What conditions are being evaluated and compared? And what could break those conditions?
I appreciate your help!
DDD
Delve into the world of built-in app and system services available to developers. Discuss leveraging these services to enhance your app's functionality and user experience.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Does anyone know why I set the offer code in Apple Store Connect, but when I call SKPaymentQueue.default().presentCodeRedemptionSheet() in the app, the app icon does not appear and I cannot find the offer code?
THX
I just purchased a new 2025 Honda Civic Hybrid sedan with the highest trim package. The staff at the dealership set CarPlay up to my iPhone 16 Pro, and all was operating perfectly. Then, last week, I started noticing random connectivity problems with it (ie: no sound from my audio apps, “not connected” being displayed on the dashboard displa, etc.) I tried to think of what had changed with my setup, and the only change was that I updated to the latest iOS update 18.2
I scheduled a service appointment with the Honda dealer in hopes that Apple and Honda can confirm a fix for this issue. I’ll try to attach an image from my car’s dashboard display as an example of an error message that isn’t resolved.
Topic:
App & System Services
SubTopic:
General
Hi,
Need input on making ICEcard app paid version , requirements. The app is presently live for India and shortly will be for global. This app is for primary health information which is critical in case anyone faces emergency. Will it have any regulatory concerns ?
https://apps.apple.com/in/app/ice-card-app/id6736453602
Topic:
App & System Services
SubTopic:
Health & Fitness
When I open Iplaytv on my Apple TV it says refresh needed but I don’t know how
Hello,
We have implemented In-App Verification using both SMS and mobile app options. While SMS functions as expected, selecting the mobile app for verification in the Wallet app does not open our app on the first attempt. Instead, the verification window simply dismisses.
However, if I select "Complete Verification" again and choose the mobile app, deep linking works as expected, and our app opens correctly.
This issue occurs with any bank card and app I’ve tested in Wallet. Could this be a bug in the Wallet app where deep linking fails on the first attempt but works on the second?
Has anyone had any success enabling Apple Pay checkout for a Google Chrome or Firefox users (macOS or PC)? This was rolled out in iOS 18 but Shopify support hasn't been able to help:
https://www.theverge.com/2024/6/13/24177851/apple-ios-18-pay-chrome-scanning-code-wwdc-2024
Thanks
Iphone 13 stuck on iOS beta 13
cant update it downloads but doesn‘t install have tried using a laptop didn't work my backup won’t work as well
Topic:
App & System Services
SubTopic:
Hardware
Hello,
My react native iOS app crash on startup on iOS14. And the crash may not have anything to do with the js code, because I remove all js code in App.tsx, It still crashes.
My Env is:
React Native: 0.76.1
Xcode: 15.4
here is the crash log:
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Incident Identifier: 2665B36E-F475-44FA-B53C-951668A70886
CrashReporter Key: 902ecf6cea3413a23ae0ed8e51de826bacd686c9
Hardware Model: iPhone13,4
Process: ConcreteApp [20498]
Path: /Volumes/VOLUME/*/ConcreteApp.app/ConcreteApp
Identifier: com.lets.concrete
Version: 1.1.7 (1)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: com.lets.concrete [3008]
Date/Time: 2024-12-25 11:38:14.7041 +0800
Launch Time: 2024-12-25 11:38:14.6657 +0800
OS Version: iPhone OS 14.8.1 (18H107)
Release Type: User
Baseband Version: 1.80.02
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: DYLD 4 Symbol missing
symbol '_$sSo12NSURLSessionC10FoundationE4data3for8delegateAC4DataV_So13NSURLResponseCtAC10URLRequestV_So0A12TaskDelegate_pSgtYaKF' not found, expected in '/usr/lib/swift/libswiftFoundation.dylib', needed by '/private/var/containers/Bundle/Application/9C2952C2-DA35-4C38-B060-C385050F3DB9/ConcreteApp.app/ConcreteApp'
Highlighted by Thread: 0
Backtrace not available
No thread state (register information) available
Binary Images:
Binary images description not available
Error Formulating Crash Report:
_dyld_process_info_create failed with 6
Failed to create CSSymbolicatorRef - corpse still valid ¯\_(ツ)_/¯
Failed to extract dyld error info: The size of the data is not what is expected
EOF
-----------
Full Report
-----------
{"app_name":"ConcreteApp","timestamp":"2024-12-25 11:38:16.00 +0800","app_version":"1.1.7","slice_uuid":"809cfd69-02ad-36b6-8478-40b3a92daa01","adam_id":"0","build_version":"1","platform":"0","bundleID":"com.lets.concrete","share_with_app_devs":"0","is_first_party":"0","etl_key":"3","bug_type":"309","os_version":"iPhone OS 14.8.1 (18H107)","incident_id":"2665B36E-F475-44FA-B53C-951668A70886","name":"ConcreteApp"}
{
"uptime": 750000,
"procLaunch": "2024-12-25 11:38:14.6657 +0800",
"procRole": "Foreground",
"version": 2,
"exception": {
"type": "EXC_CRASH",
"signal": "SIGABRT",
"codes": "0x0000000000000000, 0x0000000000000000"
},
"userID": 501,
"modelCode": "iPhone13,4",
"coalitionID": 3008,
"osVersion": {
"isEmbedded": true,
"train": "iPhone OS 14.8.1",
"releaseType": "User",
"build": "18H107"
},
"captureTime": "2024-12-25 11:38:14.7041 +0800",
"incident": "2665B36E-F475-44FA-B53C-951668A70886",
"pid": 20498,
"cpuType": "ARM-64",
"procName": "ConcreteApp",
"procPath": "/Volumes/VOLUME/*/ConcreteApp.app/ConcreteApp",
"bundleInfo": {
"CFBundleShortVersionString": "1.1.7",
"CFBundleVersion": "1",
"CFBundleIdentifier": "com.lets.concrete"
},
"storeInfo": {
"applicationType": "User",
"itemID": "0",
"deviceIdentifierForVendor": "47A5105F-B968-4006-BE3F-BE9C7E566C3B"
},
"parentProc": "launchd",
"parentPid": 1,
"coalitionName": "com.lets.concrete",
"crashReporterKey": "902ecf6cea3413a23ae0ed8e51de826bacd686c9",
"basebandVersion": "1.80.02",
"isCorpse": 1,
"termination": {
"flags": 518,
"code": 4,
"namespace": "DYLD",
"indicator": "Symbol missing",
"reasons": [
"symbol '_$sSo12NSURLSessionC10FoundationE4data3for8delegateAC4DataV_So13NSURLResponseCtAC10URLRequestV_So0A12TaskDelegate_pSgtYaKF' not found, expected in '/usr/lib/swift/libswiftFoundation.dylib', needed by '/private/var/containers/Bundle/Application/9C2952C2-DA35-4C38-B060-C385050F3DB9/ConcreteApp.app/ConcreteApp'"
]
},
"legacyInfo": {
"threadHighlighted": 0
},
"reportNotes": [
"_dyld_process_info_create failed with 6",
"Failed to create CSSymbolicatorRef - corpse still valid \u00af\\_(\u30c4)_/\u00af",
"Failed to extract dyld error info: The size of the data is not what is expected"
]
}
Topic:
App & System Services
SubTopic:
Core OS
How to uninstall/delete Voice Control on macOS so that I can test my app for the case when the initial use of Voice Control causes it to be downloaded from Apple? Is there a folder in the macOS System or Library to delete to force a re-download of Voice Control?
My macOS app uses the older NSSpeechRecognizer to handle speech commands, but to use NSSpeechRecognizer required authorization via [SFSpeechRecognizer requestAuthorization...]. I do this and on a macOS system it can trigger a download of Voice Control, the macOS feature. An alert appears with:
"A 390 MB download is required to use speech recognition features in MyApp. You may need to quit and open MyApp again after download completes."
Hello, I’m working on a caller ID app and with the release of iOS 18.2, Apple has introduced the ability to set a third-party app as the default calling app. I have followed the official documentation for this feature and successfully set my app as the default phone app for making and receiving calls.
Documentation Reference:
https://developer.apple.com/documentation/callkit/preparing-your-app-to-be-the-default-calling-app
Now, I’m facing some challenges and need some guidance:
Custom UI for Incoming Cellular Calls:
Is it possible to show a custom UI when receiving SIM-based cellular calls (not VoIP)? I want to replace the default iOS call screen with my own design when a cellular call is received. Can CallKit allow me to manage and display this custom UI for real cellular calls?
Detecting Incoming Cellular Calls:
Can I detect incoming SIM-based cellular calls when my app is set as the default calling app? I would like to track and show details of incoming calls (e.g., caller information, call duration) using a custom interface.
Displaying Call Data (Call Duration, Recent Calls):
Can I show call data (e.g., call duration, recent call history, etc.) for SIM-based cellular calls within my app when it is the default calling app? I need to know if it’s possible to retrieve and display this data in a custom format.
Managing Outgoing Cellular Calls:
For SIM-based outgoing calls, can I handle the process of initiating the call and then show a custom UI for the call in progress (similar to how VoIP apps manage outgoing calls)?
I understand that CallKit can be used to manage the UI for calls, but I’m unsure about the limitations when it comes to real SIM-based cellular calls. Is it possible to implement these features with the current API capabilities, or are there any restrictions I should be aware of when managing cellular network calls?
Thanks in advance for your help!
Hello,
I'm building an expense management app and have the necessary FinanceKit entitlements. However I'm based in India and hence do not have access to an Apple Card. Is there anyway to test FinanceKit with some sort of mock data?
I have tried following the developer documentation and built a minimal implementation to share via Testflight to my users. However it's failing to get any transaction data.
I'm unable to debug the code myself and if anyone here has valid entitlements along with Apple Card, I'd appreciate if you could debug an example project I made below:
https://github.com/tanmays/FinanceKitExample
Feedback #FB14136552
users download app with Streamlined Purchasing ,but the logic of checking subscription doesn't work. there the code:
func checkSubscriptionStatus() async {
for await entitlement in Transaction.currentEntitlements {
guard case .verified(let transaction) = entitlement else { continue }
if transaction.productID == monthlyProductID || transaction.productID == yearlyProductID {
if transaction.revocationDate == nil && !transaction.isUpgraded {
let activeSubscribed = transaction.expirationDate ?? .distantFuture > .now
if activeSubscribed {
hasActiveSubscription = activeSubscribed
// other operation
}
}
}
}
}
I've searched all the App Intent and AssistantSchemas related documentation and I can't find anything related to workout, do I still need to use SiriKit?
I encountered a scenario involving a subscription and need to determine if it's a problem or an expected outcome. Here are the details:
My service received a notification from Apple of type DID_CHANGE_RENEWAL_STATUS with subtype AUTO_RENEW_DISABLED. The status field received on the payload was equal to 1 - Active. (2024-12-19T15:34:53.801)
My service again received a DID_CHANGE_RENEWAL_STATUS with subtype AUTO_RENEW_DISABLED. But the status field received was 2 - Expired. (2024-12-19T23:34:57.527)
My service received an EXPIRED with subtype VOLUNTARY notification. (2024-12-19T23:35:01.669)
Is the event 2 an inconsistent event? Since we are receiving a notification that means the auto renew was disabled when the subscription was already expired.
Topic:
App & System Services
SubTopic:
StoreKit
Tags:
App Store Server Notifications
App Store Server API
Hi,
In an auto-renewable subscription scenario, I receive a transaction from Product.Purchase and then send the transaction ID (e.g., 500000000738201) to my API server. After receiving the response, I called transaction.finish().
The account has purchased the subscription before and expired. So it's re-subscribe.
And then, I received a RESUBSCRIBE notification from Apple’s server to my API server. I noticed a discrepancy where the transaction ID in the notification is decreased by one (e.g., 500000000738200 instead of 500000000738201).
I’m wondering why this discrepancy occurs and how it happens.
Best regards,
RoyHuang
Hi Devs,
I’ve created an app intent shortcut for our Best Buy app. This shortcut is visible on iOS 17.2 and later. However, I’ve marked it to support iOS 16+ as shown below:
import AppIntents
@available(iOS 16.0, *)
struct LaunchIntent: OpenIntent {
why we are not able to see shortcuts for iOS 16?
My app is available in TestFlight but has been rejected in App Review with the review feedback that the app clip "just shows a blank screen".
However, in the TestFlight app, the App Clip works as expected and brings up the clip. It also works correctly from Xcode testing.
Any ideas on what the problem could be? It is using the default App Clip link (appclip.apple.com)
Hi everyone,
I have a simple question regarding App Intents. I have an intent that defines a few parameters, one of which is a Date. When the user is prompted for input, I’d like the date picker to start at a specific value (e.g., tomorrow) instead of the default current date.
Is there a way to set an initial/default value for the date parameter in an App Intent?
Thanks in advance for any guidance!
Hi,
I'm a server developer working on an iOS app, and I've encountered an interesting case that I'd like to understand better.
We received a user report indicating that they were able to successfully start a subscription without any charge being processed on their payment method. The subscription appears to be active in our system and we can verify the receipt with Apple's server, but the user claims no payment was deducted from their account.
I'm curious to know:
Are there any known scenarios where a subscription might activate without an immediate payment charge?
What would be the recommended way to handle such cases from the developer's perspective?
Could this be related to any specific subscription states or edge cases in the IAP system?
Any insights or documentation references would be greatly appreciated. I want to ensure we're handling our subscription logic correctly and providing the best experience for our users.
Thank you in advance for your help!