Hi all,
I have an app that is already released in the App Store, and I recently submitted a new version for bug fixes only. Normally, updates are accepted within 24 hours. However, this time, my submission was unexpectedly rejected for the following reason:
The app preview includes content that does not sufficiently show the app in use. Specifically, the app preview:
Shows footage other than the app in use, such as images of the home screen.
This feedback is surprising because the app preview video has been approved in previous versions, and I made no changes to it in this submission.
Importantly, the reason for including the iPhone's Home Screen is to showcase a critical function of the app—interacting with it via Siri when the phone is locked. I am unsure how to demonstrate this key feature without showing the phone's Lock Screen. I have attempted to explain this in my responses and even uploaded a YouTube video to clarify the app's functionality, but I continue to receive generic, templated feedback.
I also raised an appeal, but it has been over 7 days without a response. Has anyone else experienced similar issues? How did you manage to navigate this situation?
Thank you for your help!
Navigate the App Store landscape. Share strategies for app submission, distribution, marketing, and user acquisition. Discuss best practices for getting your app discovered and downloaded.
Post
Replies
Boosts
Views
Activity
Hi all,
I have an app that is already released in the App Store, and I recently submitted a new version for bug fixes only. Normally, updates are accepted within 24 hours. However, this time, my submission was unexpectedly rejected for the following reason:
The app preview includes content that does not sufficiently show the app in use. Specifically, the app preview:
- Shows footage other than the app in use, such as images of the home screen.
This feedback is surprising because the app preview video has been approved in previous versions, and I made no changes to it in this submission.
Importantly, the reason for including the iPhone's Home Screen is to showcase a critical function of the app—interacting with it via Siri when the phone is locked. I am unsure how to demonstrate this key feature without showing the phone's Lock Screen. I have attempted to explain this in my responses and even uploaded a YouTube video to clarify the app's functionality, but I continue to receive generic, templated feedback.
I also raised an appeal, but it has been over 7 days without a response. Has anyone else experienced similar issues? How did you manage to navigate this situation?
Thank you for your help!
I currently have 4 subscriptions. Two of which are level 1, and two are level 2.
The level 1 are similar in access, but are package A Monthly vs package C Yearly,
While the Level 2 are premium package B Month vs package D Yearly.
How does this effect Upgrade and or downgrade?
Basically I want upgrade to be immediate, and downgrade, at the end of the cycle.
For instance, each package increases in A, to B to C to D. If someone moves from A to B or from B to C he pays the difference, and upgrades, alternatively if he moves from D to C or C to B he will wait until the end of the cycle and move.
How can that be changed? Is the change immediate?
I'm using Superwall with Expo for my iOS app. I am testing two paywalls for my Superwall campaign so that the user will have a 50/50 chance of getting each one. App review rejected the submission because they could not locate another IAP that was not being rendered because of the Superwall campaign. How do I explain this to them? They don't seem to understand.
Hi Apple Developer Team,
I am encountering an issue with the “Sign in with Apple” feature. While implementing this functionality in my application, I noticed that the user’s first name and last name are not being returned, even though I have explicitly requested the fullName scope. However, the email and other requested information are returned successfully.
Here are the details of my implementation:
1. Scope Requested: fullName, email
2. Response Received: Email and other data are present, but fullName is missing or null.
3. Expected Behavior: I expected to receive the user’s first and last name as per the fullName scope.
I have verified the implementation and ensured that the correct scopes are being passed in the request.
Could you please help clarify the following?
1. Are there specific conditions under which Apple may not return the user’s fullName despite the scope being requested?
2. Is there a recommended approach or fallback mechanism to handle this scenario?
3. Could this behavior be related to a limitation or change in the API, or might it be an issue on my end?
I would greatly appreciate any guidance or solutions to resolve this issue.
Thank you for your support!
Hi everyone,
I'm finally in the final steps of putting my first app online, but I'm encountering an issue during the review process. I need to fix the subscription, but the Sandbox account isn't being triggered in TestFlight.
In the logs, I see the main account being requested instead, and the TestFlight payment process isn't starting.
Does anyone know a workaround for this?
Thanks in advance for your help!
Brice
Hello,
I would like to ask if there is a way to retrieve the number of ratings by date on Apple Store Connect. Specifically, I want to know how many 5-star ratings, 4-star ratings, etc., were received on a specific day (e.g., January 21, 2025) or a date range(e.g. December 21, 2024 - January 21, 2025).
If Apple Store Connect does not support this feature through the interface or API, is there any alternative method to access this data?
Thank you for your assistance!
Testflight has stopped updating its version after uploading new build.
Hi, I have submitted a request to change account type to corporate from personal, I was informed that I would receive a response within 1 business day, however, there is no response and I have submitted a support request again. I would like to know how much time it takes as we need to shift asap. Thanks.
I have no Idea how to to check if the app verifies receipts on the device and support the SHA-256 algorithm.
My App is purchased once and without in-app purchase.
the are the verifying process:
// Load the receipt into a Data object
let _receipt_url = Bundle.main.appStoreReceiptURL,
let _receipt_data = try? Data(contentsOf: _receipt_url)
let _receipt_bio = BIO_new(BIO_s_mem())
let _receipt_bytes: [UInt8] = .init(_receipt_data)
BIO_write(_receipt_bio, _receipt_bytes, Int32(_receipt_data.count))
let _receipt_pkcs7 = d2i_PKCS7_bio(_receipt_bio, nil)
BIO_free(_receipt_bio)
guard _receipt_pkcs7 != nil else {
SKReceiptRefreshRequest().start()
return
}
// Check that the container has a signature
guard OBJ_obj2nid(_receipt_pkcs7!.pointee.type) == NID_pkcs7_signed else {
SKReceiptRefreshRequest().start()
return
}
// Check that the container contains data
let _receipt_contents = _receipt_pkcs7!.pointee.d.sign.pointee.contents
guard OBJ_obj2nid(_receipt_contents?.pointee.type) == NID_pkcs7_data else {
SKReceiptRefreshRequest().start()
return
}
// Load the AppleInc_root_certificate into a Data object
guard
let _root_cert_url = Bundle.main.url(forResource: "AppleIncRootCertificate", withExtension: "cer"),
let _root_cert_data = try? Data(contentsOf: _root_cert_url)
else {
return
}
let _root_cert_bio = BIO_new(BIO_s_mem())
let _root_cert_bytes: [UInt8] = .init(_root_cert_data)
BIO_write(_root_cert_bio, _root_cert_bytes, Int32(_root_cert_data.count))
let _root_cert_x509 = d2i_X509_bio(_root_cert_bio, nil)
BIO_free(_root_cert_bio)
// Verify the signature
let _store = X509_STORE_new()
X509_STORE_add_cert(_store, _root_cert_x509)
OpenSSL_add_all_digests()
let _verification_result = PKCS7_verify(_receipt_pkcs7, nil, _store, nil, nil, 0)
guard _verification_result == 1 else {
return
}
// Get a pointer to the start and end of the ASN.1 payload
let _receipt_sign = _receipt_pkcs7?.pointee.d.sign
let _octets = _receipt_sign?.pointee.contents.pointee.d.data
var _ptr = UnsafePointer(_octets?.pointee.data)
let _end = _ptr!.advanced(by: Int(_octets!.pointee.length))
var _type: Int32 = 0
var _xclass: Int32 = 0
var _length: Int = 0
// Key attributes of in-app purchase.
var _iap_id = ""
var _iap_quantity = -1
var _iap_set: [(String, Int)] = []
// Parse ASN.1 payload
ASN1_get_object(&_ptr, &_length, &_type, &_xclass, _ptr!.distance(to: _end))
guard _type == V_ASN1_SET else {
return
}
while _ptr! < _end {
ASN1_get_object(&_ptr, &_length, &_type, &_xclass, _ptr!.distance(to: _end))
guard _type == V_ASN1_SEQUENCE else {
continue
}
ASN1_get_object(&_ptr, &_length, &_type, &_xclass, _ptr!.distance(to: _end))
guard _type == V_ASN1_INTEGER else {
continue
}
let _attribute_type = ASN1_INTEGER_get(c2i_ASN1_INTEGER(nil, &_ptr, _length))
ASN1_get_object(&_ptr, &_length, &_type, &_xclass, _ptr!.distance(to: _end))
guard _type == V_ASN1_INTEGER else {
continue
}
_ptr = _ptr?.advanced(by: _length)
ASN1_get_object(&_ptr, &_length, &_type, &_xclass, _ptr!.distance(to: _end))
guard _type == V_ASN1_OCTET_STRING else {
continue
}
switch _attribute_type {
case 17:
// Parse In-App purchase receipt.
ASN1_get_object(&_ptr, &_length, &_type, &_xclass, _ptr!.distance(to: _end))
guard _type == V_ASN1_SET else {
return
}
case 1701:
ASN1_get_object(&_ptr, &_length, &_type, &_xclass, _ptr!.distance(to: _end))
guard _type == V_ASN1_INTEGER else {
continue
}
_iap_quantity = ASN1_INTEGER_get(c2i_ASN1_INTEGER(nil, &_ptr, _length))
if _iap_quantity != -1 && _iap_id != "" {
_iap_set.append((_iap_id, _iap_quantity))
_iap_quantity = -1
_iap_id = ""
}
case 1702:
ASN1_get_object(&_ptr, &_length, &_type, &_xclass, _ptr!.distance(to: _end))
guard _type == V_ASN1_UTF8STRING else {
continue
}
let _mutable_ptr = UnsafeMutableRawPointer(mutating: _ptr!)
_iap_id = String(bytesNoCopy: _mutable_ptr, length: _length, encoding: .utf8, freeWhenDone: false) ?? ""
if _iap_quantity != -1 && _iap_id != "" {
_iap_set.append((_iap_id, _iap_quantity))
_iap_quantity = -1
_iap_id = ""
}
default:
_ptr = _ptr?.advanced(by: _length)
}
}
Should I need to change it?
https://apps.apple.com/in/app/health-compass-vital110/id6476536381
We submitted our app for review on 23-December. The review team asked two questions and we replied those promptly. Due to holidays, we didn't hear anything back for 10 days. on 6-Jan we got the message that
"Thank you for your reply. Your submission’s review will require additional time as we take this new information into account. We do not require any further information at this time.
Once we have thoroughly reviewed your submission, we will either contact you in App Store Connect to communicate any issues found, or your submission will be approved."
It has been over 2 weeks and no response yet. We have requested for expedite review and sent email to the review team but no response.
What should we do?
Is anyone else suddenly having issues getting new builds to TestFlight?
It worked earlier this afternoon and I pushed build 22 of my app. I found an issue, made a fix and expired it. Then I built and uploaded build 23 about 45 minutes later and now that one isn't showing 90 minutes later. I didn't make any other changes to my project, just a simple 2 line fix. I'm doing the archive and distribute the same as I always have and am seeing no errors, nor am I getting any error emails.
Could pushing 2 builds within an hour put me at the back of a queue, or expiring my latest build before uploading a new one caused an issue?
All builds up until now have shown within minutes.
Hi all,
Is anyone seeing issues right now with Testflight? I have pushed an app to testflight and the normal testers are not in the settings. Further, there is no ability to re-add the testers to the app.
I decided to change the version and push the app again but same problem, no testers, no ability to re-add the testers.
We have 2 apps whose builds appear to be stuck in the "In Processing..." phase after uploading to TestFlight. The problem has existed since mid-December. We have tried with more than a dozen builds since then, but they all get stuck.
Both apps are use the same code-base. The main difference being that one is optimized as a one-time purchase for the school manager
DTS (Developer Technical Support) hasn't been able to help so far and has 1-week email turnaround times.
Hi,
Testflight app is showing "Couldn't Load Apps. TestFlight is currently unavailable. Try again." error each time when i trying to open it last 2 days. I'm tried to uninstall/re-install TestFlight app, but error still remain.
Can anyone confirm this error?
Devices which is affected with the same error: iPad 6 (2018) / iOS 17.7, iPad Pro / iOS 16.7.9, iPad Air 2 / iOS 15.8.2
Hi Developers of the World! I have just created my first iOS App and it was rejected by the review panel for Guideline 4.2 - Design - Minimum Functionality. Looking for some guidance on how to improve my app to get it accepted. Thanks in advance
We currently have an app that contains a monthly subscription to unlock the main functionality. We would like to have a way for our employees to be able to use the app without having to go through this mechanic. For instance, our sales associates and our support staff.
I had previously made a promo code field which would check the value with an API to determine whether to validate the subscription or not, but the app was denied since it didn't use the IAP system, which I understand.
I'm aware that I could somewhat achieve this behaviour through the use of promo codes, but that would require us to create a new batch of codes periodically, not to mention that every employee would need to have a payment method setup in their device, which we would like to avoid.
We could also periodically issue TestFlight builds to bypass this, but once again it's not an ideal solution since it necessitates some periodic and perpetual management.
Is there any way I can achieve this while following the App Review Guidelines?
We have been using apple Sales report API (https://api.appstoreconnect.apple.com/v1/salesReports) to fetch the sales report. It has been running for over a year without any issues.
But recently Starting JAN 15. The API is not returning Content-Disposition header which usually contains Filename additionally, x-report-filename which also contains the filename information is missing. We are not able to save the files without the filename.
We do not see any update to the Sales Reports API in the documentation.
Is there any reason for this sudden change? Is there any alternative to get the name from the API or will this be fixed?
My new version is stuck with 'Ready for Distribution' status since Jan 18. I have contact Apple by email, chat and call; however, they replied that they'll need senior/technical supporters for this, but all of them are busy now (?), and will contact me later. Does any face the same issue?
I have manually released my new version since Jan 18, however, App Store doesn't update it, still displays old version. It has been 48h+, I also sent email, chat and called for support, but they all said that they'll need senior/technical supporters to fix this, and they're all busy now (?). Does anyone face the same issue?