I am using an ASO tool.
After linking my Search Ads account campaign with my App Store Connect account, it gets my email and app specific password then makes API call to search ads.
I couldn't find any documentation regarding this flow. Can someone lead me to the correct path where I can implement a similar flow?
Thank you all
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
There was an updated tonight I assume to something and now I am getting this for all firebase modules when I push to App Store connect "Invalid sdk value. The value provided for the sdk portion of LC_BUILD_VERSION in proxie2.app/Frameworks/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport is 18.2 which is greater than the maximum allowed value of 18.1." now even when I revert back to suer old firebase packages I get the same errors no matter what please fix this asap...
How can I check the orders from my app's users? Sometimes users may encounter issues with their payments, so I need to verify the transactions when there are problems reported by my app's users.
Hi all,
I've been receiving a few emails reminding me about the deadline for Trader status. The thing is I already submitted it back in March, but it's still In Review.
Already emailed Apple Support several times about this but got no response.
Anyone having the same issue? How to get this resolved?
these are the questions that apple asks repeatedly.
This is the Home Screen of the app. What are the ways to publish my app publicly. what changes should I make if they keep on asking these questions? I have an organisational signup and with the organization ID users can be registered. the transfers are loaded from DB, if the registered user has a transfer assigned, it will be shown in the Home Screen.they can accept or reject the transfer as required!
Hi Guys,
I need one help.
The thing is user of my apps, don't want their app to get auto update unless they manually go and do it.
Is it possible for me stop automatic update of my application by app store through my application.
[Note:- I know we can disable the automatic update from setting, but this then become user dependent, and i want to control it through my app, As this is important for my users.]
Till now i got to know this is possible through Apple VPP, but that is mainly for enterprise application.
What happens if I register as a trader on AppStore Connect? Is it only for selling my apps in EU? Or is there any other advantage or disadvantage?
I'm running into issues creating a valid .pkg file for Transporter.app. I'm building an Electron app for the Mac App Store. I have a working build that's live, but I've encountered issues on x86 architectures.
The delivery process fails with the following error:
Asset validation failed (90981)
Invalid bundle. The “com.XXXX.***.pkg/Payload/XXXX.app” bundle supports arm64 but not Intel-based Mac computers. Your build must include the x86_64 architecture to support Intel-based Mac computers. For details, view: https://developer.apple.com/documentation/xcode/building_a_universal_macos_binary. (ID: 56e46e1a-6e77-4468-80e6-249ec8990fa8)
My build script that creates the .app and code signs the application uses the productbuild utility to create the .pkg. This is the command:
productbuild --sign "$INSTALLER_KEY" --product "./build/requirements.plist" --component "$APP_PATH" /Applications "$RESULT_PATH"
From my research, I would have assumed that the requirements property list was all that I would need to specify for the .pkg. This is this contents of /build/requirements.plist/:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>arch</key>
<array>
<string>arm64</string>
</array>
</dict>
</plist>
The application included in the .pkg is correctly built for arm64 and I've verified this with:
lipo -archs /Path/To/XXXX.app/Contents/MacOS/XXXX
arm64
Other research ha led me to solutions via Xcode, but as stated at the beginning I'm using Electron.
Any suggestions or insights would be very beneficial.
I can’t submit an App Update without providing the EU trader information. I keep trying to submit this information. I upload all the documents, go through all the steps, then at the end I get the following error message:
“Something went wrong. Please try again.” This is pretty frustrating.
Then I had to start over...did it all again and ended up with the exact same error message.
So I'm blocked from updating an app today...any advice on how I should proceed?
What certificate does Xcode cloud use when distribute apps to App Store?
Since cloud managed certs can't be downloaded, how to get its public key for the f..king recordation in China?
I uploaded my app over 1 month ago, but my 5 IAP' have not been approved. The app was approved over a month ago now.
When we attempt to create a new iOS app version for our free application, we receive an alert stating “Your paid application agreement is outdated”, and we are unable to proceed with creating the new version.
We have reviewed and accepted all visible agreements in our account.
Hi, my name is Yuki.
I'm developing an application with generative AI for junior and high school students based on the Nocode tool "bubble" (BDK Native).
I want to upload this app to the App Store, however, a notch-like interface element is appearing only in the iPad environment, which is causing my app to fail App Store review.
I've reached out to the BDK Native support team about this issue, but they were unable to identify the cause and only offered a refund as a solution. This is particularly frustrating as I'm unable to proceed with the App Store publication, and time is passing without a resolution.
Technical details:
The notch appears only on iPad devices
The issue is not present on iPhone versions
The app was built using bubble/BDK Native
Multiple App Store submissions have been rejected due to this UI issue
Has anyone encountered a similar issue or knows how to resolve this iPad-specific interface problem? Any guidance or suggestions would be greatly appreciated, as this is blocking our app's release.
Thank you in advance for your help!
Hi,
A new "Featuring Nominations" workflow was introduced at WWDC24, to help nominate our apps to be potentially featured on the App Store. When is that expected to arrive? The WWDC video didn't mention any expected release dates. Would love to be able to use this for an upcoming update.
Thanks.
Hello everyone,
I’m submitting my app for the first time, and I’m running into an issue with fetching my in-app purchase products in the release environment.
In the sandbox environment, everything works perfectly: my app can fetch and display the products from StoreKit without any issues. However, when I switch to the release environment, my app is unable to retrieve the in-app purchase products from App Store Connect.
Because the app can’t fetch the products, this results in an error when either a user or the App Review team attempts to make a purchase, effectively blocking the purchase process.
Has anyone encountered this before? Any guidance on troubleshooting or common mistakes to watch out for would be much appreciated. Thanks!
Hello everyone,
I’m submitting my app for the first time, and I’m running into an issue with fetching my in-app purchase products in the release environment.
In the sandbox environment, everything works perfectly: my app can fetch and display the products from StoreKit without any issues. However, when I switch to the release environment, my app is unable to retrieve the in-app purchase products from App Store Connect.
Because the app can’t fetch the products, this results in an error when either a user or the App Review team attempts to make a purchase, effectively blocking the purchase process.
Has anyone encountered this before? Any guidance on troubleshooting or common mistakes to watch out for would be much appreciated. Thanks!
I am trying to understand the 2.3.3 section as it was cited as an issue with my submission for an iOS App.
"2.3.3 Screenshots should show the app in use, and not merely the title art, login page, or splash screen. They may also include text and image overlays (e.g. to demonstrate input mechanisms, such as an animated touch point or Apple Pencil) and show extended functionality on device, such as Touch Bar."
I have provided some iOS screens for showing a stage of one game being played. However my App includes 5 games and 4 modes of play. Should I include similar screenshots for each game? I fear I may run out of screenshots. Could using videos help? I believe we are restricted to 3.
Do I need to show screenshots for the App on iPad ( it is not Universal ) ?
The input mechanism is a text field next to a submit button. Do I have to highlight/overlay the same?
If I do the above, is it okay/recommended to skip the info page, Home Screen which neatly shows all modes and the next screen which compactly shows all the games, example of dark mode , achievements and leaderboards?
Is there some other thing I should consider here? I was asked to check on Support Forum first.
I am in the midst of an App Review. Please advise!!
Thanks in advance.
I noticed I can no longer view the last 24 hours in sales and trends, the option has been replaced with “Yesterday” which shows nothing. Is this intentional or a bug?
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.
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.