App Store Connect

RSS for tag

App Store Connect is a suite of tools for submitting and managing your apps and in-app purchases on the App Store.

App Store Connect Documentation

Post

Replies

Boosts

Views

Activity

Help for App Store Receipt Signing Intermediate Certificate (TN3138)
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?
0
0
40
6h
Skipping In-App Subscription
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?
0
0
54
18h
Apple Developer Program
The issue is on 6th December we successfully renewed our Membership program. In the beginning of January money returned to my bank account. Now, even if I try to pay again for the Program it says: Sorry, you can’t enroll at this time. Your Apple ID is already associated with the Account Holder of a membership. What should we do? Our apps got banned from AppStore. We need a solution ASAP
0
0
54
1d
Unable to Add for Review - Xcode 16.2 - New apps and app updates must be built with the public (GM) versions of Xcode
I’ve thoroughly checked all configurations, flags, and settings, and I am 100% certain of using the latest stable version of Xcode (16.2, build 16C5032a) with the corresponding SDKs. Despite verifying everything and even trying to deploy using older stable Xcode versions in a VM, I've had no success. Besides trying other xcode versions, update build numbers, creating new projects, new apps, checking all configs available in xcode, validating certificates and profiles, I've ran out of even what to check, test and try. Any ideas? I've contacted Apple already, awaiting response for now.
1
0
273
2d
关于.storekit配置文件无法与Apple store Connect同步产品
I have configured the auto-renewable subscription product through Apple Store Connect, made it available in Xcode via the .storekit configuration file, and successfully purchased it in the testing of the old version. However, during the development of the new version, it seems that I mistakenly opened the .storekit configuration file of the old version, and then one or two pop-up windows appeared (the specific content was similar to saving? I don't quite understand), after that, I found that my new version .storekit configuration file could not automatically sync the auto-renewable subscription product from Apple Store Connect. I can't understand what happened here. 我通过Apple store Connect配置好了自动续期订阅产品,将它在Xcode通过.storekit配置文件配置可用,并且在旧版本的测试中成功购买。 但是,在开发新版本的过程中,我似乎错误的打开了旧版本的.storekit配置文件,然后弹出了一个或者两个弹窗(具体内容类似保存?我不太理解),之后,我发现我的新版本.storekit配置文件无法从Apple store Connect自动同步自动续期订阅产品。 我无法理解这里发生了什么问题。
1
0
76
3d
App Clip Advanced Experiences don't get published
Hello everyone, We recently (a week ago) released our app, which includes an App Clip as a target. Before going live, we thoroughly tested the App Clip functionality using both the "Local Experience" and the "_XCAppClipURL" method. During testing, everything worked seamlessly. After going live, when we manually create QR codes using the default App Clip URLs, such as: https://appclip.apple.com/id?p= https://appclip.apple.com/id?p=&clip= The App Clip card is displayed, and the functionality works as expected. However, we encountered an issue where scanning the App Clip QR codes displays the message: "No usable data found." Our App Clip QR codes are dynamically generated with URLs in the format: https://example.com/clip?id= We implemented an advanced App Clip experience with the URL: https://example.com/clip This advanced App Clip experience is currently showing the status "Received" in App Store Connect. If this issue is due to the "Received" state of the advanced App Clip experience. Here are the key implementation details for your reference: We have added the domain "appclips:example.com" to the App Clip target's entitlement. The AASA (Apple App Site Association) file is hosted at https://example.com/.well-known/apple-app-site-association This file has been validated successfully and includes the correct entries for App Clips. The domain URL is "validated" status on App Store Connect. The Advance app clip is in "Received" status. The diagnostic for the URL is showing like a screen shot attached. This issue is critical for our marketing and user adoption. Could any of you please assist us in identifying and resolving this issue? If additional details or documentation are needed, we are happy to provide them promptly. Thank you for your support and assistance in this matter.
0
1
85
3d
Leaderboard localization
Hello, I setup a leaderboard in the default language English and everything works and the app is live in the store. Now I am adding localization to the leaderboard and noticed than some languages have the data entry "Score Format Suffix" and some languages the data entries "Score Format Suffix (Singular)" and "Score Format Suffix (Plural)" instead. Is this an error or intentional? Kind Regards, Chris
1
0
121
4d
User cannot purchase in app after upgrading iOS system with StoreKit
Several players in our app cannot purchase after upgrading iOS system. They make purchases every day before upgrading. After upgrading, they cannot purchase. User purchase behaviors: cannot request product: no callback received; didFailWithError received: Couldn’t communicate with a helper application . request product success: purchase stuck and after 2 mins failed with error message "There was a problem with your purchase" These players try to make purchases every day. Most of time they cannot get store products with no request callback. These player can make purchases in other apps. players' info: ipad7: 18.1.1 -> 18.2 ipad7: 18.1.1 -> 18.2.1 iPhone13 pro max: 17.6.1 -> 18.1.1 app info: xcode: 15.2 iap: store kit related code: iosIap.m (see the attachment) IOSIAP.m.txt Does any one know how to resolve this issue? Thanks.
1
0
108
4d
How to you check if your auto rewew is on? If not, where do we go to do Auto Renew
HI, Can anybody please provide the details related to above How to check if you developer account is auto renew or not? Where do we go and hit the auto renew button or update the payment details and select auto renew. All the docs and reference on internet says. Go to Account > Membership details > Click Auto renew I can't to find the renew details anywhere in app connect. Please guide me.
1
0
105
5d
Taxes: Do you need to do taxes for each country your app is offered in?
Hi, First year receiving revenue through Storekit subscriptions. I live in the United States and know I need to pay taxes within the U.S. for my revenue. I'm curious if I have to handle anything (taxes, etc) in each country I sold a subscription in or does Apple handle all that for me? If it's a per-country basis is there a list somewhere so I can use it to choose where I should offer my app in the future? Thanks everyone!
1
0
140
6d
Balance carried forward constantly, Financial Team not answering
Hello I am writing to report an issue with my account. I am unable to receive payments for user purchases made within my apps. The Balance is constantly Carried Forward, and I am unsure why. I have already updated all necessary information in my account, so everything should be in order. Unfortunately, I have not received any response from the Financial Reports Support team despite reaching out multiple times over the past four months. I have also contacted other support teams, but there has been no progress for almost five months. Currently, my account has accumulated a balance of more than 4K USD, which I am unable to access. I believe that the Apple Financial Reports Support team may need to reinitiate payments on my account. This issue might be related to payment pauses due to the war in Ukraine (although this is just my assumption). As a Ukrainian citizen, I find this situation particularly concerning. Previously I was located in region which was partially occupied by Russia, but not my City, anyway whole region was banned from Swift transfers. And now I'm not located on Ukraine, I updated address in my bussined account and bank account which are also not Ukranian. But this is tottally not helped me, and money just stuck in AppStore Connect. Additionally, here are several case IDs to demonstrate my previous attempts to resolve this issue, none of which have received a response: Case ID: 102368759149 Case ID: 8699462 Case ID: 9235318 Case ID: 10706490 Case ID: 102506141858 Please help me solve this issue and get the money I earned in my bank account, which is active in my AppStore Connect. Thank you in advance for your help and time. Kind regards
0
0
83
6d
Transporter device binding issue
I logged into Transporter with 'a' APPID to upload the ipa package. Everything went smoothly until I logged out of 'a' APPID and then logged in with 'b' APPID. Transporter then prompted me: "This device is already associated with another account in the Apple Developer Program or Apple Developer Enterprise Program. Please use another device." Could you please tell me how to unbind my Mac device from 'a' APPID?
0
0
53
1w
I'm having an issue with Sandbox test accounts - username/password do not work
The accounts I make in AppStoreConnect do not work on emulators. I am unable to sign in using the username and password I set in AppStoreConnect. This has occurred with multiple test accounts. I cannot even reset my password in the emulator. Additionally, there's apparently no way to restore a deleted Sandbox account. At present I am unable to test Apple Sign In for the app I am working on, so this is issue is very important for me to resolve. Thanks in advance!
0
0
97
1w
Sales of In-App Purchases by Name Data
Example in-app purchases for a single app: $0.99 reference name "100 Coins" product id "smallcoins" $0.99 reference name "100 Gems" product id "smallgems" I can see the proceeds when I download the sales data but cannot tell which one was purchased. How do I differentiate the sales of each in-app purchase on App Store Connect? Is this something I would need to track in my own database as purchases are made or can I pull this from one of Apple's APIs? Thanks!
0
0
128
1w