I received an email from Apple today saying my account needs immediate attention. When I called, I spoke to a senior advisor who told me that the reason my account is under review is because the company " fully or partially matches one or more restricted parties on the screening list from the U.S. government or another government’s sanctions list."
When I try to log in to App Store Connect I'm met with a "Compliance Screening" that asks for a photo of my ID, birth city and birth country.
I'm a US based company and have not submitted any apps to the App Store. The company was formed 6 months ago. I have searched the sanctions list and my company name, address, my name does not appear anyway in part or in full.
Has this happened to any one else recently? TIA.
App Store Connect
RSS for tagApp Store Connect is a suite of tools for submitting and managing your apps and in-app purchases on the App Store.
Posts under App Store Connect tag
200 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
Hello fellow developers! I am interested in obtaining the following information regarding one of our Home Screen widgets:
Pull the following data about the "my_app_widget" homepage widget in total and by month for the last 12 months (Sep '23 - Sep '24):
Widget install events
Unique widget installs
Device type (iPad, iOS).
Thus far, I am using AWS Lambda and have the proper credentials within a Secrets Manager and I keep getting a 409 error from this code:
const AWS = require('aws-sdk');
const axios = require('axios');
const jose = require('jose');
const crypto = require('crypto');
const s3 = new AWS.S3();
const secretsManager = new AWS.SecretsManager();
const cloudwatchlogs = new AWS.CloudWatchLogs();
const logGroupName = '/aws/lambda/my_lambda_function';
const logStreamName = '2024/11/05/[$LATEST]XXXXXXXXXXXXXX';
const getSecret = async (secretName) => {
const secret = await secretsManager.getSecretValue({ SecretId: secretName }).promise();
return JSON.parse(secret.SecretString);
};
const logError = async (message) => {
const params = {
logGroupName,
logStreamName,
logEvents: [
{
message: JSON.stringify(message),
timestamp: Date.now()
}
]
};
try {
await cloudwatchlogs.putLogEvents(params).promise();
} catch (error) {
console.error('Failed to log to CloudWatch:', error);
}
};
const getJwtToken = async (keyId, issuerId, privateKeyPem) => {
try {
const privateKey = crypto.createPrivateKey({
key: privateKeyPem,
format: 'pem',
type: 'pkcs8'
});
const payload = {
iss: issuerId,
exp: Math.floor(Date.now() / 1000) + 20 * 60,
aud: 'appstoreconnect-v1'
};
const token = await new jose.SignJWT(payload)
.setProtectedHeader({ alg: 'ES256', kid: keyId })
.sign(privateKey);
return token;
} catch (error) {
await logError({ error: 'Error generating JWT', details: error });
throw new Error('JWT generation failed');
}
};
const fetchAndUploadReport = async (url, token, s3Key, isAnalytics = false, body = null) => {
try {
const headers = {
'Authorization': `Bearer ${token}`,
'Accept': isAnalytics ? 'application/json' : 'application/a-gzip',
'Content-Type': 'application/json'
};
const response = await axios({
method: isAnalytics ? 'post' : 'get',
url: url,
headers: headers,
data: body,
responseType: isAnalytics ? 'json' : 'stream'
});
if (response.status === 200) {
let bodyContent = isAnalytics ? JSON.stringify(response.data) : response.data;
await s3.upload({
Bucket: 'my_bucket_name',
Key: s3Key,
Body: bodyContent
}).promise();
return { statusCode: 200, body: `${s3Key} fetched and uploaded successfully` };
} else {
await logError({ error: 'API response error', status: response.status, statusText: response.statusText, url });
return { statusCode: response.status, body: response.statusText };
}
} catch (error) {
await logError({ error: 'Error fetching report', url, details: error });
return { statusCode: 500, body: JSON.stringify(`Error fetching ${s3Key}`) };
}
};
exports.handler = async (event) => {
const secretName = 'AppStoreConnectPrivateKey';
try {
const secretData = await getSecret(secretName);
const { keyId, issuerId, private_key: privateKeyPem } = secretData;
const token = await getJwtToken(keyId, issuerId, privateKeyPem);
const startDate = '2023-09-01';
const endDate = '2024-09-30';
const apiEndpoints = [
{
url: `https://api.appstoreconnect.apple.com/v1/analyticsReportRequests`, // Changed to request report
s3Key: 'my_folder/my_subfolder/unique_widget_installs.json',
isAnalytics: true,
body: {
"data": {
"type": "analyticsReportRequests",
"attributes": {
"accessType": "ONGOING",
"name": "Home Screen Widget Installs",
"category": "APP_USAGE"
},
"relationships": {
"app": {
"data": {
"type": "apps",
"id": "YYYYYYYYYYYY"
}
}
}
}
}
}
];
Returns the following error :
{
"error": "Error fetching report",
"url": "https://api.appstoreconnect.apple.com/v1/analyticsReportRequests",
"details": {
"message": "Request failed with status code 409",
"name": "AxiosError",
"stack": "AxiosError: Request failed with status code 409\n at settle (/var/task/node_modules/axios/dist/node/axios.cjs:2019:12)\n at IncomingMessage.handleStreamEnd (/var/task/node_modules/axios/dist/node/axios.cjs:3135:11)\n at IncomingMessage.emit (node:events:531:35)\n at IncomingMessage.emit (node:domain:488:12)\n at endReadableNT (node:internal/streams/readable:1696:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:82:21)\n at Axios.request (/var/task/node_modules/axios/dist/node/axios.cjs:4287:41)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async fetchAndUploadReport (/var/task/index.js:68:26)\n at async Promise.all (index 0)\n at async exports.handler (/var/task/index.js:174:25)",
"config": {
"transitional": {
"silentJSONParsing": true,
"forcedJSONParsing": true,
"clarifyTimeoutError": false
},
"adapter": [
"xhr",
"http",
"fetch"
],
"transformRequest": [
null
],
"transformResponse": [
null
],
"timeout": 0,
"xsrfCookieName": "XSRF-TOKEN",
"xsrfHeaderName": "X-XSRF-TOKEN",
"maxContentLength": -1,
"maxBodyLength": -1,
"env": {},
So I am not sure if the JSON body I am passing this URL endpoint are correct or if this is the correct API to be using to attempt to obtain this information. Please let me know when you have the chance and I look forward to hearing from you.
Hi,
We do not see In-App Renewable Subscription option. See screen copy (sorry screen is in French, nobody's perfect).
We have already :
signed the Paid App contract
managed from Admin Accounf
generate an In-App Key (User > Integration > In-App)
Still, no option.
Thanks for your help.
Yves
Hi,
I want to apply in app purchases in my app. I have set it up in xcode and on appstoreconnect, it is saying ready to submit.
I dont understand what i need to do now to connect the two. I have read i need to send my app for review for them to be reviewed, but i want to test the in app purchases first on test flight and on sandbox before i send my app for review.
Please can someone clarify for me and help me?
My first review for my application has been rejected stating Guideline 2.1 - Information Needed- We were unable to sign in with the following demo account credentials you provided in App Store Connect.
However, we were able to actively sign in and navigate through the entire application without any issues. How can I find out what is the exact problem the review team is facing and how do I fix it to ensure a smooth release?
It's not possible to create a new version for any App Store Connect app.
To reproduce, I navigate to my app and click the (+) button to create a new version number. I type in a version number, and click "Create."
It fails with an error, "An error has occurred. Try again later."
Issue Description
The current Xcode Cloud webhook functionality requires developers to expose a public URL to receive webhook events, which poses a challenge in environments with security restrictions or limited network accessibility. Many developers need to receive webhook events locally without exposing their servers to the public internet.
Proposed Solution
A feature similar to Slack’s "Socket Mode" would allow developers to receive webhook events over a WebSocket connection without exposing a public URL. This socket-based solution could offer a more secure, streamlined, and accessible way for developers to work with webhooks, especially in closed network environments.
Hi,
I receive this email from Apple :
"Due to the discontinuation of content associated with your vendor number ------, your payments have been paused. We will continue to monitor this account and release your payments once customer refunds have been settled."
I've been receiving payments on time for over 10 years, I haven't change anything and now they skipped the monthly payment 🤷♂️.
WTF is going on? Please help anyone
The apple connect account says expired card. But, when click on update card. The card in the account is up to date and not expired.
can't removed and re-add the card
do not have the option to use a different card
I updated the primary email address of my Apple Account, now all emails send to my new address except emails about App Store Connect (e.g. App Review status update).
How to make App Store Connect send emails to my new address?
I have been working on a mobile app that I would like to upload on Apple console - pre order. The criteria for this is pretty much unclear. My team wants to use this pre order link for marketing, now I would like to know if I can publish a unfinished app on pre order to use it as marketing and then upload the completed app once we want to go live.
Please explain what should be the criteria, also can the app be uploaded it we only have the completed front-end
Hello All,
New member here so hopefully my post adheres to Dev Forum standards.
My Platform team and I are attempting to gather a bunch of our customer/service data via an automated process where we code a script to obtain data from the App Store Connect dashboard of our app. We need to web scrape most likely with the App-Store-Scraper library. This reason for this is the following challenge we have run into previously while utilizing the App Store Connect API: When we have attempted to fetch data we have seen that the attributes we are looking for cannot be obtained with the query parameters available. Certain reports can only be obtained for DAILY query param values; certain information, such as "File Size" from the "State" report, and "revenue net" of Apple's commissions on sales from the "Proceeds" report within the App Store Connect dashboard, are not able to be obtained via the API, to my knowledge. Of course it can be obtained manually by downloading it through the dashboard, but we want to automate this process.
My question is with regards to web scraping: Will we be able to obtain all the information we need by web scraping the "Event, State, Proceeds" reports that one can find by navigating from the left-hand-side tabs within the App Store Connect dashboard? This information contains PII, but since we have rights to our customer data we should be able to maintain confidentiality by following industry standards.
Please let me know if anyone has any experience with this kind of task before and I look forward to hearing from you.
as title mentions, i've had a subscription approved for being used with my app, however when i want to add this subscription to the new version im uploading, the entire 'in-app purchases and subscriptions' group section is missing so i can't add anything.
I have previously had this section showing prior to the subscription approved, but since the subscription was approved, it's no longer possible to even add it
If I have a monthly subscription offering for an app and also a yearly subscription offering for the same app.
And if I set up a win-back offer through App Store Connect on the yearly subscription offering.
Will this win-back offer be shown to lapsed subscribers of both the monthly and yearly offerings?
Or would it be necessary to create a different win-back offer for each offering if we want lapsed subscribers to see a win-back offer regardless of which subscription they had previously purchased?
Thanks so much in advance!
We have a CD pipeline set up for many apps (we're an app dev agency, we're uploading apps all the time). Uploads of our apps to AppStoreConnect using the iTMSTransporter command line tool started failing a few days ago.
If we attempt to upload the same bundle using the Mac Transporter app, it uploads just fine. The problem only seems to be the iTMSTransporter command line tool.
The version of the tool we're using is: iTMSTransporter, version 3.3.0
I've also tried running these commands pointing at the version of iTMSTransporter running at /Applications/Transporter.app/Contents/itms/bin/iTMSTransporter but this won't even start due to some Java security certificate issue.
An example of the command we are calling is:
/usr/local/itms/bin/iTMSTransporter -m upload -v eXtreme -f "/path/to/Bundle.itmsp" -jwt {generatedJwtHere}
The bundle appears to actually upload to the AppStore OK, after lots of logs we get a message like:
INFO: Reservation committed: (CPUSource221/v4/0b/e5/74/0be57409-0479-3c02-0fa7-6b1e2125342f/http-transport-diagnostic-2323106272954036093.txt) file: (http-transport-diagnostic-2323106272954036093.txt)
[2024-10-30 14:48:12 AEDT] <RLT-001> INFO: Finished upload for reservation: (CPUSource221/v4/0b/e5/74/0be57409-0479-3c02-0fa7-6b1e2125342f/http-transport-diagnostic-2323106272954036093.txt) file: (http-transport-diagnostic-2323106272954036093.txt)
But then soon after the system fails. Here's the last bunch of lines from the logs:
[2024-10-30 14:48:12 AEDT] <main> DBG-X: Using operation named: validateAssets
[2024-10-30 14:48:12 AEDT] <main> DBG-X: Apple's web service operation input parameters:
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter Application = iTMSTransporter
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter BaseVersion = 3.3.0
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter CPUToken = fdc4eb8b-c249-4c70-bf90-8b0878d2de9c/1730248300667
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter Files = [metadata.xml, App.ipa]
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter MetadataChecksum = c32ad756f090da68830123132a616e3a
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter MetadataCompressed = (suppressed)
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter MetadataInfo = {packageVersion=software4.7}
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter OSIdentifier = Mac OS X 14.5 (aarch64); jvm=17.0.7+7-iTunesOpenJDK-3; jre=17.0.7+7-iTunesOpenJDK-3; arch=arm64; rosetta=true
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter PackageName = Bundle.itmsp
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter PackageSize = 40603953
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter RequestUUID = 1c12bf85-9ff2-4916-a55c-12dd9e4ab771
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter StatisticsClientStartDateTimeZoneISO = 2024-10-30T14:48:12+11:00
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter StreamingInfoList = [file: 97c48494-e436-484d-9a5f-2a84576553338130357476207288847.swinfo.plist.gz, content-length: 194606, content-type: application/binary, MD5: b4df61ca1fb5d74e74b13117619a5cd2]
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter Transport = HTTP
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter TransporterArguments = -m upload -v eXtreme -f /Users/mick/Projects/Catholic Cemeteries/CCC App/Bundle.itmsp -jwt **hidden value**
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter TxTransportVersions = {SigniantTCP=1.3.0, Aspera=1.2.1, Signiant=1.3.0, HTTP=2.1.2.SNAPSHOT}
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter Version = 3.3.0
[2024-10-30 14:48:12 AEDT] <main> DBG-X: parameter iTMSTransporterMode = upload
[2024-10-30 14:48:12 AEDT] <main> INFO: id = 20241030144812-155
[2024-10-30 14:48:12 AEDT] <main> DEBUG: SMART-CLIENT: getCurrent(); using pinned data center = contentdelivery01.itunes.apple.com
[2024-10-30 14:48:12 AEDT] <main> INFO: iTMSTransporter Correlation Key: 816c0e77-2860-4ba5-9e0d-61d633c61b7f-0001
[2024-10-30 14:48:12 AEDT] <main> DEBUG: SMART-CLIENT: Host HTTP header: contentdelivery01.itunes.apple.com
[2024-10-30 14:48:15 AEDT] <main> DBG-X: Apple's web service operation return value:
[2024-10-30 14:48:15 AEDT] <main> DBG-X: parameter Errors = [An error occurred while trying to call the requested method validateAssets. (1272)]
[2024-10-30 14:48:15 AEDT] <main> DBG-X: parameter RestartClient = false
[2024-10-30 14:48:15 AEDT] <main> DBG-X: parameter ErrorCode = 1272
[2024-10-30 14:48:15 AEDT] <main> DBG-X: parameter ErrorMessage = An error occurred while trying to call the requested method validateAssets. (1272)
[2024-10-30 14:48:15 AEDT] <main> DBG-X: parameter Success = false
[2024-10-30 14:48:15 AEDT] <main> ERROR: An error occurred while trying to call the requested method validateAssets. (1272)
[2024-10-30 14:48:15 AEDT] <main> DBG-X: The error code is: 1272
[2024-10-30 14:48:15 AEDT] <main> INFO: Done performing authentication.
This problem is affecting all our apps. We've tried apps built using Xcode 15 and 16. All issues are happening on Mac machines.
in app purchase: receive a error resoponse ,the error detail is "error= Error Domain=SKErrorDomain Code=2 "无法连接iTunes Store" UserInfo={NSLocalizedDescription=无法连接iTunes Store}" , but the user paid successfullly and received a bill from apple , as a developer ,i cannot confirm the bill is real ,how dose the developer handle this user scenario 。in addition the user initiated a refund request on the app store ,but rejected by apple
I'm currently experiencing the same problem that many have had with error 422 "Beta contract is missing."
I read that I should contact Apple support, but when I try to access the support page and log in with my credentials, the page doesn't load and I can't generate a ticket to resolve this problem.
I get the message "There was an error processing your request. Please try again later."
And when I inspect with Safari it shows me this information:
"errors" : [ {
"id" : "9be0314c-3bd5-4143-a625-602322d7156e",
"status" : "422",
"code" : "ENTITY_UNPROCESSABLE.BETA_CONTRACT_MISSING",
"title" : "Beta contract is missing for the app.",
"detail" : "Beta Contract is missing."
} ]
This is when I want to share the most recent build of my app with external groups through Testflight, but additionally, when my internal testers try to access it through Testflight app, it shows the error
"The requested app is not available or doesn't exist."
Could someone tell me what process I should follow or where I can correctly generate the ticket for my error? Since the Apple support page does not load.
Thanks!
Hello,
Currently I want to create a win-back offer for my app's monthly subscription, but whenever I choose to select Offer type option, Free, and selects options from the list like 3 Days, 1 Week, etc. It is just showing error like,
We can't process your request.
Go back to where you were and try again. If the problem continues, contact us.
Where I am successfully able to create win-back offers for weekly and yearly subscriptions without any issue.
I am trying this from last 2 days, but getting the same issue everytime.
Please help me solve the issue.
Thanks
My main app contains a complete sub app, but when I put this app on TestFlight, the startup report says that The provisioning profile is invalid; The main app was launched separately and runs normally. Please help me deal with the issue of invalid preset description files. Thank you
myapp.app
--Contents
--bin
--subapp.app
--Contents
--MacOS
--Frameworks
--MacOS
--Frameworks
Every time I fill out the business agreement details for my app transfer request from MindBodyOnline to my Apple developer account I get a banner with the error "Something went wrong. Please try again later."
Furthermore, after painstakingly completing all the fields for
New App Metadata
App Review Contact Information
checking the boxes
The fields are cleared and I receive the error.
I am stumped and have worked with the company that developed the initial app and am certain that I have all the fields correct.
Can someone help me get my Apple Developer App Transfer Request Business Agreement approved?