My app was set to Private and Organization ID was correct. Why my app isn't show on Custom App menu. And when I click "Get Started" button on Custom App, nothing happen.
My App Store ID and Apple Business Manager ID are not of the same account.
General
RSS for tagNavigate 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
We have an app that checks user GPS locations to complete Work Orders and send them to a server for user visualization. We already implemented the App Tracking code in our project following the documentations and guides found on internet.
The problem is that App Store is telling us that the app Tracking code is not implemented the way it is intended to be.
The message from the appstore we get when we try to upload the app:
"Hello,
Thank you for your message.
It would be appropriate to refer to the available documentation to confirm App Tracking Transparency has been correctly implemented.
In particular, review the specifications for the requestTrackingAuthorization(completionHandler:) type method, make any necessary adjustments, and test your app on a device running iOS 15."
Our code:
Version currentVersion = new Version(Device.systemVersion);
Version ios14 = new Version("14.5");
if (ATTrackingStatusBinding.GetAuthorizationTrackingStatus() == ATTrackingStatusBinding.AuthorizationTrackingStatus.NOT_DETERMINED && currentVersion >= ios14)
{
ATTrackingStatusBinding.RequestAuthorizationTracking(AuthorizationTrackingReceived);
sentTrackingAuthorizationRequest?.Invoke();
yield return new WaitUntil(() => ATTrackingStatusBinding.GetAuthorizationTrackingStatus() != ATTrackingStatusBinding.AuthorizationTrackingStatus.NOT_DETERMINED);
if(ATTrackingStatusBinding.GetAuthorizationTrackingStatus() == ATTrackingStatusBinding.AuthorizationTrackingStatus.AUTHORIZED)
{
StartCoroutine(CheckGPSRoutine());
}
}
We need help to solve this urgent issue and know how to correcly implement App Tracking so we can upload the app to appstore.
Thanks!
No matter what size of simulator you use on any Macbook from any year, the screenshots are completely unusable on app store connect. App store connect requires extremely obscure, uncommon, and illogically sized images for screenshots. If you take a real screenshot on an actual iPhone 13 then try to upload that image it will also no work. Will Apple ever make software that properly works with its own development software? Will Apple ever make it so the simulators screenshots are properly sized or will apple allow for appropriately sized images to be uploaded for screenshots?
Funny enough the best way to get around this problem is to use a third party conversion app to make up for apples extreme inadequacy and purposeful stifling of innovation and invention.
Apple should take a note from the people they are keeping their boot on the neck of. It is elementary practice to resize images on devices and in widgets. They are forcing these crazy restrictions due to sheer laziness and lack of ability.
Looking to make my existing IOS application available on Mac. I have done all of the steps as best I can determine across all the articles tools and topics for Xcode/App Connect/Transporter. I have no builds to upload in the MacO/S apps part of Apple Connect.
The app runs fine in the simulator for Mac OS and I have managed to export an executable which I might be able to send to someone outside of the App Store but haven't tried/tested.
Transporter won't load the exported (notarized? supposedly) file into Xcode because its already got a build with the same number.
I targeted Standard Architecture option, which says should run on Intel or ARM, - I am not clear on which OS I should have selected to target to make that happen.
Any hints to a concise todo list to make it happen would be good. My observation is that most of the examples in the various documentation are either MacOS Store oriented or Xcode on IOS for details. The high level information describes the planned/expected support but doesn't match the tools examples
Hi everyone, we recently integrated UICloudSharingController to share cloudkit records on one of our apps, but we noticed while testing that the icloud share link opens the wrong app on App Store if we invite a participant who has not the app installed on his device.
We thought it was because for another our app (app store opens the download page for this app) we basically duplicated the same coredata/cloudkit implementation, forgetting maybe some cloudkit references of the first app and indeed we noticed a wrong icloud container assignment for the second app, which essentially had two containers, the correct one (its own) and the one of the first app (the wrong one).
So, we fixed the problem, every app has his own container now and only his own, and we updated the provisional profiles as well, in order to have the correct icloud containers entitlements. Unfortunately the problem persists and after check everything else (containers, app groups, PersistentStoreDescriptions etc.) we don't have any more ideas.
What else should we check? Thanks in advance for your suggestions.
Some more detail of the issue:
If we have the app installed on the device the icloud share link opens the right app.
The same icloud share link works properly on Mac Catalyst (the App Store opens the correct app page if we don't have the app installed). The problem is only on iOS.
Im working on a small text snippet / lorem ipsum app as a side project and the idea is, for instance, whenever and wherever user types "lorem10" I'd like to print/paste 10 random lorem ipsum words.
Eg. "lorem10 " -> ("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do")
For that to be possible I need to,
Programmatically press "delete" key to remove the trigger string ("lorem10").
Programmatically press "cmd + v" for pasting the result string.
This is possible, even in sandbox! But it requires accessibility permission. For instance I can simulate "delete" key press like this:
func delete() {
let eventSource = CGEventSource(stateID: .combinedSessionState)
let keyDownEvent = CGEvent(
keyboardEventSource: eventSource,
virtualKey: CGKeyCode(51),
keyDown: true)
let keyUpEvent = CGEvent(
keyboardEventSource: eventSource,
virtualKey: CGKeyCode(51),
keyDown: false)
let loc = CGEventTapLocation.cghidEventTap
//Triggers system default accessibility access pop-up
keyDownEvent?.post(tap: loc)
keyUpEvent?.post(tap: loc)
}
My question is essentially if this is allowed in Mac App Store? Because requesting accessibillity permission like this is not allowed in sandbox:
func getPermission() {
AXIsProcessTrustedWithOptions([kAXTrustedCheckOptionPrompt.takeUnretainedValue():true] as CFDictionary).
}
But I can simulate one short "shift" or "cmd" key press for instance, and trigger the pop-up inside a sandboxed app and get around this it seems. Is this a bug?
I really hope I can release my app in the Mac App Store, but doing so I just want to be sure Im not using any bug that might get removed in the near future.
The notification webhook is marketed as a way to get server-side updates on changes to in-app subscriptions. In the normal case, you can use that information to know the current state of a subscription. However, the retry system means that a notification may come up to 72hrs after the actual state change occurred and that also means that notification may be out-dated (another state change occurred between the time it was intended to be sent and the time it actually got successfully sent).
How are we supposed to ensure that a received notification is the current state of a subscription? Can we used the signedDate to determine the order of notifications? (ie. when a notification fails to be sent and is resent, is the signedDate not altered so it can be used to order the notifications?)
Or do we need to always make a request to the /inApps/v1/subscriptions/ endpoint to get the latest state and not rely on the contents of the notification?
Good evening,
I'm trying to deploy an extremely simple Python QT app to the app store: it's roughly ~10 lines of code that shows a window containing a"Hello, world!" message.
This seemingly trivial task of deploying a "Hello World" app to the store has been extremely difficult, perhaps because of my lack of familiarity with the Apple ecosystem.
I'd like to demonstrate all of the steps I've taken, my current understanding of deployments, and what the problems are.
Project files
Here's the code for the app (in a file located at src2/test_app/app.py).
import os, sys
from PySide2.QtWidgets import *
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.setCentralWidget(QLabel("Hello, world!"))
if __name__ == '__main__':
os.environ["QT_MAC_WANTS_LAYER"] = "1"
app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()
Furthermore, I've created an assets folder which contains an icon.icns file and I also created a Pyinstaller config/test_app.spec file to bundle this app into a testapp.app package:
block_cipher = None
added_files = [
('../assets', 'assets')
]
a = Analysis(
['../src2/test_app/app.py'],
pathex=[],
binaries=[],
datas=added_files,
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False
)
pyz = PYZ(
a.pure,
a.zipped_data,
cipher=block_cipher
)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='testapp',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True,
disable_windowed_traceback=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon='../assets/64.icns'
)
coll = COLLECT(
exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='app'
)
app = BUNDLE(
coll,
name='testapp.app',
icon='../assets/icon.icns',
bundle_identifier='com.stormbyte.test-app.pkg',
info_plist={
'NSPrincipalClass': 'NSApplication',
'NSAppleScriptEnabled': False,
'LSBackgroundOnly': False,
'LSApplicationCategoryType': 'public.app-category.utilities',
'NSRequiresAquaSystemAppearance': 'No',
'CFBundlePackageType': 'APPL',
'CFBundleSupportedPlatforms': ['MacOSX'],
'CFBundleIdentifier': 'com.stormbyte.test-app.pkg',
'CFBundleVersion': '0.0.1',
}
)
In addition, I have an config/entitlements.plist file, containing all of the necessary information for binaries built by pyinstaller:
<?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>
<!-- These are required for binaries built by PyInstaller -->
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.app-sandbox</key>
<true/>
</dict>
</plist>
This entitlements file is apparently necessary for pyinstaller to run things on Mac successfully, which is why I included it.
Building the .APP
I am able to build this app with:
pyinstaller \
--noconfirm \
--log-level WARN \
--distpath '/Users/nikolay/Desktop/projects/cling_wrap/dist' \
--workpath '/Users/nikolay/Desktop/projects/cling_wrap/build' \
'./config/test_app.spec'
This creates a testapp.app file in my dist folder and the file icon I've designated appears just as I've intended.
Codesigning the .APP binaries
Next, I am able to use the codesign tool to sign all of the files that are part of the testapp.app I've just created.
codesign \
-vvv \
--strict \
--deep \
--force \
--timestamp \
--options runtime \
--entitlements './config/entitlements.plist' \
--sign "Developer ID Application: Nikolay ***** (Z57YJ*****)" \
'/Users/nikolay/Desktop/projects/cling_wrap/dist/testapp.app'
This successfully executes.
Building the .PKG Installer
Next, I am able to use productbuild to create a .PKG file, which will allow a user to install the app:
productbuild \
--version '0.0.1' \
--sign "Developer ID Installer: Nikolay **** (Z57YJ*****)" \
--component '/Users/nikolay/Desktop/projects/cling_wrap/dist/testapp.app' \
/Applications testapp.pkg
This successfully outputs:
...
productbuild: Adding certificate "Developer ID Certification Authority"
productbuild: Adding certificate "Apple Root CA"
productbuild: Wrote product to testapp.pkg
When I attempt to run this installer, everything works.
I can even see the app installed in my Applications folder, and I can double-click and run it:
With this confirmed, I am ready to run the notarization & stapling process prior to submitting my app to the App Store.
I run notarization using the xcrun tool:
xcrun altool \
--notarize-app \
--primary-bundle-id com.stormbyte.test-app.pkg \
--username=*****@gmail.com \
--password **** \
--file '/Users/nikolay/Desktop/projects/cling_wrap/testapp.pkg'
Which outputs:
No errors uploading '/Users/nikolay/Desktop/projects/cling_wrap/testapp.pkg'.
RequestUUID = c40ebde4-dcd1-***********
I then receive an e-mail from Apple telling me that the notorization process has been successful:
Next, I run the stapler tool:
xcrun stapler staple '/Users/nikolay/Desktop/projects/cling_wrap/testapp.pkg'
Which is also successful.
Finally, I attempt to use Transporter to upload my app to the store but this happens:
It says that the icon failed (when it clearly exists and is recognized by Mac?!!) and that the signature is invalid?
Am I using the incorrect certificates for distribution to the App store?
Thanks!
HI.
After changing notifications v2
We received "REFUND_DECLINED" notifications
But, we didn't do anything about refund.
Also, we didn't send consumption information.
Below is description of "REFUND_DECLINED"
REFUND_DECLINED
Indicates that the App Store declined a refund request initiated by the app developer.
Can I know when we are getting this notification?
In notification version1, there is an field called is_trial_period, is useful for us to identify this transaction is in free trial, and we can judge the user's payment status and recomand some feature for him.
but, in notification version2 the filed is not appear, in this scenari, how can I identify this user is in free trial period ?
Hello, I'm new to iOS development and I'm trying to take some screenshots of my app to submit to the App Store. I'm running Ventura 13.0.1 and XCode 14.1. So far I've used these simulators to take screenshots:
6.5 inch - iPhone 11 Pro Max
6.7 inch - iPhone 14 Pro Max
12.9 inch - iPad Pro 6th gen
What I'm stuck on is getting the 5.5 inch screenshots, which are required for App Store submission. As far as I can tell from some online searching, the latest iPhone with that screen size was the 8 Plus. I've installed the oldest iOS simulator that XCode has listed (iOS 13.7), but it still won't let me run a simulator for the iPhone 8 Plus to get those screenshots. I don't have the physical device to take screenshots on. Does anyone know how to get the 5.5 inch screenshots without having to manually resize them?
Submit my app to Mac App Store. workflow:
Sign with cert: Developer ID Application ---> Success
Notarize ---> Success
Sign with cert: 3rd Party Mac Developer Application ---> Success
productbuild with cert: 3rd Party Mac Developer Installer, and get .pkg artifact---> Success
Transporter upload ---> Success
TestFlight notify, and app update to the latest version ---> Success
Click open, and then the ERROR comes like the screenshot photo
So I'm confusing which step's wrong. And I believe my account certificates, profiles are all configured with no problem.
Anybody have any clues? I've been here for many days.
Our account 12.29 expired, sign in websites and developer app both are not Renewal button, our app not show in App Store, contact apple but also not handle
How can I Renewal our account, thank you!
I have looked high and low all and cannot find an answer or solution.
I have an app that is primarily used by Mac users. I am looking to implement promo codes in the coming weeks.
The presentCodeRedemptionSheet call does not work for Mac Catalyst apps saying "This function doesn’t affect Mac apps built with Mac Catalyst" in the documentation.
AppStore.presentOfferCodeRedeemSheet also does not work for Mac Catalyst.
If it is the case that you can't redeem in-app, that is fine if I can direct users to the Mac App Store to redeem promo codes, but I cannot find a way to do that either. I can only find a route to redeem gift cards.
I have also tried clicking on a specific promo code link (something like https://apps.apple.com/redeem?ctx=offercodes&id=00000000&code=PROMOCODE) and that just redirects to the Gift Card redemption screen in the Mac App Store.
So is there any way for a Mac only user (a user that does not have an iPhone or iPad) to use app promo codes?
Thanks!
At App Store Connect > add for review: "Unable to Add for Review
The items below are required to start the review process:
A 1024 x 1024 pixel app icon for your app must be added to the asset catalog in Xcode."
Seems to be an old problem. I've tried whole day but this problem seems to persist. Just to be sure, resized the 1024x1024 image to 1024x1024. Already deleted the AppIcon from Assets.xcassets and refilled the icons; created a new set of icons, deleted the AppIcon from Assets.xcasstes and refilled the icons again. Still missing the 1024x1024 icon. Need some help please!
I have published an app as Unlisted on the app store. Can I check if it is possible to distribute unlisted app via Intune?
We're trying to release a social media app that uses social sign in. The two sign in options are google sign in and apple sign in. Our app keeps getting rejected because the testers cannot login to the demo account. Apple requires a 2 factor verification, and google requires a 2 factor verification. At this point, we are stuck. We don't want to go through the process of keeping track of usernames and passwords just for app review. What do we do?
Ensure that your app’s local receipt validation is compatible with intermediate certificates that require using the SHA-256 algorithm.
View Technote TN3138 >
In the verifyReceipt API response, there is a "is_trial_period" field.
As detailed in WWDC 2023 the verifyReceipt is deprecated, how to fetch the fact that the subscription is during the free trial period via recommended App Store server APIs?
I am creating a macOS application to be distributed to Mac App Store. I am getting an error when I try to validate my .pkg file with the "altool".
This is the error I am getting:
2023-06-28 22:15:18.389 *** Error: Asset validation failed Invalid Provisioning Profile. The provisioning profile included in the bundle com.***.safari.web.Extension [com.***.safari.web.Extension.pkg/Payload/XXXX.app] is invalid. [Missing code-signing certificate.] For more information, visit the macOS Developer Portal. (ID: cef119d1-f045-4e50-94f7-22ee94877fad) (90283)
{
NSLocalizedDescription = "Asset validation failed";
NSLocalizedFailureReason = "Invalid Provisioning Profile. The provisioning profile included in the bundle com.***.safari.web.Extension [com.***.safari.web.Extension.pkg/Payload/XXXXXXX.app] is invalid. [Missing code-signing certificate.] For more information, visit the macOS Developer Portal. (ID: cef119d1-f045-4e50-94f7-22ee94877fad)";
NSUnderlyingError = "Error Domain=IrisAPI Code=-19241 "Asset validation failed" UserInfo={status=409, detail=Invalid Provisioning Profile. The provisioning profile included in the bundle com.***.safari.web.Extension [com.***.safari.web.Extension.pkg/Payload/XXXXXX.app] is invalid. [Missing code-signing certificate.] For more information, visit the macOS Developer Portal., id=cef119d1-f045-4e50-94f7-22ee94877fad, code=STATE_ERROR.VALIDATION_ERROR.90283
"iris-code" = "STATE_ERROR.VALIDATION_ERROR.90283";
}
Exited with code exit status 1
CircleCI received exit code 1
The steps I am following, are as follows:
Command to generate the archive:
xcodebuild -workspace ${WORKSPACE}/XXXXXX.xcodeproj/project.xcworkspace -scheme XXXXXX -sdk macosx -destination 'generic/platform=macOS' -archivePath ${WORKSPACE}/XXXXXXExt.xcarchive DEVELOPMENT_TEAM=XXXXXXXXXXXX PROVISIONING_PROFILE_SPECIFIER="match Development com.***.safari.web.Extension mac" PRODUCT_BUNDLE_IDENTIFIER=com.***.safari.web.Extension CODE_SIGN_STYLE=Manual CODE_SIGN_IDENTITY="Apple Development" archive
**The command to generate the .app file (export archive step):
**
xcodebuild -exportArchive -exportOptionsPlist ${WORKSPACE}/Config/Prod-MacAppStore-exportOptions.plist -archivePath ${WORKSPACE}/XXXXXX.xcarchive -exportPath ${WORKSPACE}/mac/packages
I am using AppStore Distribution certificate for this step.
**The Command for generating .pkg file:
**
productbuild --component ${WORKSPACE}/mac/packages/XXXXXX.app /Applications/ ${WORKSPACE}/mac/packages/XXXXX-${app_build_number}.unsigned.pkg
The Command for signing the .pkg file:
productsign --sign "3rd Party Mac Developer Installer: XXXXX Inc. (XXXXXXXXXX)" ${WORKSPACE}/mac/packages/XXXXX-${app_build_number}.unsigned.pkg ${WORKSPACE}/mac/packages/XXXXX-${app_build_number}.pkg
I am using Mac Developer Installer certificate for this step.
The Command for validating the .pkg file:
xcrun altool --validate-app -f ${WORKSPACE}/mac/packages/signed/XXXXX-${app_build_number}.pkg -t macos --apiKey "${APP_STORE_API_KEY}" --apiIssuer ${APP_STORE_API_ISSUER} --show-progress
The last command is failing. Could someone please let me know what I am missing? And what does it mean by "Missing code-signing certificate"?