Post not yet marked as solved
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
Post not yet marked as solved
Ok, so I'm building with Unity and play testing in there and it's fine, no errors. I export a build to Xcode and build and run in there, I play the game extensively and it works fine. No errors reported.
Then when I archive and upload the game and download a TestFlight version - all of a sudden the main game action scene doesn't load. The loading screen is stuck and it doesn't fully load all features. The game background music is playing and only some interaction with menu items is available.
No crash.
What could be happening here?
Post not yet marked as solved
I'm experiencing a strange issue. When I signed my bundle with a "Mac App Distribution" certificate, I can’t launch my app (foo.app) neither my foo.pkg in local. Is it an expected behavior or I'm missing something?
Signature seems correct, if I execute codesign --verify --deep --strict --verbose=2 foo.app, I get foo.app: valid on disk foo.app: satisfies its Designated Requirement
Post not yet marked as solved
Downloaded it through the App Store and currently, there's no way to stop or cancel the ongoing installation. I've tried deleting the app through the launchpad but it didn't work.
Do I have to wait until this is finished if I'm unable to delete?
Post not yet marked as solved
I understand apps in iOS app store has strict requirements to use only apple's in app purchases (unless it's a reader app), but is there same requirement for the Mac app store as well?
Can I use 3rd party payment solution in Mac app store?
Post not yet marked as solved
@Quinn,
The application which is not made with Xcode, has a provision profile, but App Store Connect says "Not Available for Testing".
My Googlefu appears weak as I can't seem to figure out why this is, except that it mentions you need to be using Xcode 13 or newer.
Am guessing Xcode is adding some meta data to the Info.plist file which TestFlight requires.
Is it possible to know which keys and values are required to satisfy TestFlight?
If it's not plist keys, is there something else that's needed, that can be shared? We can do this privately if desired.
Hello Guy's i need some help i have developed application in java . I want to give permission to full disk access using drag and dropped feature i see some application using this feature i want to know about this feature also. Can anyone help me on this?
Please see the image for reference Thanks.
Post not yet marked as solved
Hello,
TLDR; Are there any guidelines (Apple or 3rd party) to deploy a Python + QT + PyInstaller app on macOS App Store?
Why should we have one? Python is currently the most popular language, QT is the most popular desktop app platform to use with Python and PyInstaller is pretty much the only game in town to package this type of app for macOS.
Problem: By following the guidance on several forums and many sleepless nights we were able to package and notarize the app. However, when we submit the .pkg for review using Transporter we get ~200 signature errors in an email like the below. Pretty much for all .so .dylib files except ours where we individually signed with a script as recommended.
We are aware of the famous "Signing a Mac Product For Distribution" forum post, yet we don't know how not to use --deep to sign since we use several popular 3rd party libraries from PyPi (pip install) and leaving out --deep will even prevent notarization. And clearly, --deep is not working for the App Store scenario.
A solution that comes to mind is to write a script and create a complex 3rd party library dependency graph (200+) so we can sign them inside out in the perfect order. We don't believe this is a a feasible option.
Are we missing something? any help is appreciated..
Thanks,
Hakan
Sample error messages:
ITMS-90238: Invalid Signature - The executable at path MyApp.app/Contents/MacOS/pandas/_libs/algos.cpython-39-darwin.so has following signing error(s): valid on disk /Volumes/data01/app_data/awf/mz_5486667331891756409dir/mz_14480180029087919630dir/com.company.app.pkg/Payload/MyApp.app/Contents/MacOS/pandas/_libs/algos.cpython-39-darwin.so: satisfies its Designated Requirement test-requirement: code failed to satisfy specified code requirement(s) . Refer to the Code Signing and Application Sandboxing Guide at ... at ... for more information.
ITMS-90238: Invalid Signature - The executable at path MyApp.app/Contents/MacOS/PyQt5/Qt5/plugins/imageformats/libqico.dylib has following signing error(s): valid on disk /Volumes/data01/app_data/awf/mz_5486667331891756409dir/mz_14480180029087919630dir/com.company.app.pkg/Payload/MyApp.app/Contents/MacOS/PyQt5/Qt5/plugins/imageformats/libqico.dylib: satisfies its Designated Requirement test-requirement: code failed to satisfy specified code requirement(s) . Refer to the Code Signing and Application Sandboxing Guide at ... and Technical Note 2206 at ... for more information.
Post not yet marked as solved
I want to use the original_application_version value from the app receipt to grandfather some features for users who are first-time users vs existing users. In the Receipt Validation Programming Guide, the field's notes are as follows:
This corresponds to the value of CFBundleVersion (in iOS) or CFBundleShortVersionString (in macOS) in the Info.plist file when the purchase was originally made.
In the sandbox environment, the value of this field is always “1.0”.
I'm unsure which value to expect in Mac Catalyst, since it's a UIKit (and thus iOS)-based app being distributed through the Mac App Store and run on a Mac. My instinct is that the store is determinative, and thus to expect the macOS CFBundleShortVersionString on the Mac. Unfortunately, since the value is always "1.0" in the sandbox (including TestFlight) I don't have a good way to test this.
Does anyone have any real-world experience that can shed light on what format I can expect?
Post not yet marked as solved
Is it possible to somehow install an older version from the Mac App Store?
We got a new release out. It has bug and I want to quickly allow the customer to test it and solve his pain of a non-working version.
Ideally I would just tell him "install the old version while we fix it" - but there doesn't seem to be a way to install the old version. Wasn't there at some stage?
I could add him as external tester - but that needs a review loop. Why oh why?
Adding him as internal tester doesn't seem right either. He is not "internal".
I am really worried about the options here. This is painful.
What's the best way to deal with this?
Post not yet marked as solved
Hello,
I've seen that Apple has posted a news for some online sessions starting from February 15 to March 29. And I'd like to participate there but for now I haven't posted any app on the App Store. So I would like to ask that I can still participate also if I'm in the beginning?
These are the sessions: https://developer.apple.com/events/view/upcoming-events
Hi,
I have several iOS apps in the App Store. I have been asked to provide a Mac app for some of them, which I am willing to do.
Should I add the Mac app to an existing iOS app (i.e. a new target) or make a separate app just for the Mac, even though the information inside the app would be the same?
Thanks,
Dan Uff
Post not yet marked as solved
The "cancellation_date_ms" receipt field is used to process refunds for In App Purchases.
What's the equivalent receipt field for paid apps?
If there isn't one, what protects apps against refund theft?
I have an MacOS App that get's accepted by Transporter/App Store Connect and is available to download in TestFlight. The App also installs fine. But when I try to open it I get this error:
“libgdx64.dylib” can’t be opened because Apple cannot check it for malicious software.
This software needs to be updated. Contact the developer for more information.
When I click "Show in Finder" I get taken to this folder:
/private/var/folders/cs/bqb_3kr17f35kbtv34cw7s700000gn/T/<AppBundleID>/libgdxmayr/231c5cdb/libgdx64.dylib
When I try to pen this file in any capacity, e.g. in a hex editor, I get this error:
“libgdx64.dylib” is damaged and can’t be opened. You should move it to the Bin.
This is weird to me for multiple reasons. When I compare(with the diff command) the file to the original file in the package I sent to App Store Connect, there is no difference at all. And when I manually replace the broken file in the /private/var/folders/... directory with the working one, the file still gets marked as damaged, even though it worked a second earlier outside of that location.
The file actually gets copied to two other places as well.
1:
/private/var/folders/cs/bqb_3kr17f35kbtv34cw7s700000gn/T/<AppBundleID>/231c5cdb259220476539382411.tmp
This also is on a byte level the exactly same file as libgdx64.dylib.
2:
/Users/mayr/Library/Containers/69A9AB69-9ECB-4B55-A715-1A28FC7168B6/Data/.libgdx/231c5cdb/libgdx64.dylib
This location specifically seems to be a App Sandbox location, so I suppose the whole problem has to do with the Sandbox.
More Context:
The file libgdx64.dylib originally lives in a jar file in the Apps Resources folder. The file belongs to a java game engine framework, called libgdx. I have signed it myself and the signature persists, even to the 3 broken files.
No other files neither in my own code, nor from the framework, get copied anywhere. Only this specific dylib behaves this way.
When I click "OK" on the first popup, two others appear, for the other two files I mentioned earlier. If I say OK to all of them and approve all of them in the System Settings -> Security & Privacy Settings, the app starts as it normally would. So maybe it is also a signing issue, but as I wrote, I signed the file and the signature is visible on the broken files.
Post not yet marked as solved
Hi,
My app name is "birthday app" and when I search it, it doesn't show at all (I went 10 pages in). My app has non-trivial traffic and is the best solution to that search, even regardless of name. Every time I email Apple, they respond with "Our algorithm is proprietary. Try "strategy." Im fairly certain something is wrong if my character for character name doesnt show in search whatsover. Please help, it took years and a ton of cash to build this.
Thanks,
brandon
Question: I downloaded and run the iOS application on a laptop with M1 processor
System Info: macOS Montery 12.0.1,MacBook Pro (13-inch, M1, 2020)
Steps to reproduce: Click any TextField, and then click the input box in WKWebView
Prerequisite: Clear the cache and start the App for the first time
The crash log is as follows:
2021-12-31 18:55:31.930622+0800 TestMacPro[57297:1269799] [default] could not create original path for node <FSNode 0x60000247e600> { isDir = ?, path = '/private/var/folders/rv/139v0xg52q59r657bxbsrbfc0000gp/X/82BBDE53-4B58-5C54-A1A4-90827962856E/d/Wrapper/TestMacPro.app' }, proceeding: Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"
2021-12-31 18:55:32.074604+0800 TestMacPro[57297:1269799] Metal API Validation Enabled
2021-12-31 18:55:34.021293+0800 TestMacPro[57297:1269799] IOMFB: FigInstallVirtualDisplay not found
2021-12-31 18:55:34.021423+0800 TestMacPro[57297:1269799] iomfb_match_callback: primary
2021-12-31 18:55:34.021476+0800 TestMacPro[57297:1269799] iomfb_match_callback: external-0
2021-12-31 18:55:41.502881+0800 TestMacPro[57297:1269799] *** Assertion failure in void _NSWindowSetFrameIvar(NSWindow *, NSRect)(), NSWindow.m:932
2021-12-31 18:55:41.538942+0800 TestMacPro[57297:1269799] [General] An uncaught exception was raised
2021-12-31 18:55:41.539041+0800 TestMacPro[57297:1269799] [General] Invalid parameter not satisfying: <SPRoundedWindow: 0x139fbbab0>. "frame=!CGRectIsNull(frame)"
2021-12-31 18:55:41.539130+0800 TestMacPro[57297:1269799] [General] (
0 CoreFoundation 0x00000001882f812c __exceptionPreprocess + 240
1 libobjc.A.dylib 0x0000000188049808 objc_exception_throw + 60
2 Foundation 0x000000018926ae20 -[NSMutableDictionary(NSMutableDictionary) initWithContentsOfFile:] + 0
3 AppKit 0x000000018ae1ffbc -[NSWindow _reallySetFrame:] + 904
4 AppKit 0x000000018ae1f874 -[NSWindow _oldPlaceWindow:fromServer:] + 228
5 AppKit 0x000000018ae1e894 -[NSWindow _setFrameCommon:display:fromServer:] + 2200
6 SafariPlatformSupport 0x00000001ae618104 __85-[SPSafariPlatformSupport displayOTPAutoFillRelativeToRect:ofView:completionHandler:]_block_invoke + 300
7 SafariPlatformSupport 0x00000001ae617f8c -[SPSafariPlatformSupport displayOTPAutoFillRelativeToRect:ofView:completionHandler:] + 228
8 UIKitCore 0x00000001b00d6334 -[UIKeyboardImpl generateAutofillCandidateByAddingTask:] + 948
9 UIKitCore 0x00000001b00e03fc -[UIKeyboardImpl setDelegate:force:] + 6248
10 UIKitCore 0x00000001afdc62f4 -[UIKeyboardSceneDelegate _reloadInputViewsForKeyWindowSceneResponder:] + 2080
11 UIKitCore 0x00000001afdc5aa8 -[UIKeyboardSceneDelegate _reloadInputViewsForResponder:] + 164
12 UIKitCore 0x00000001af7394d8 -[UIResponder(UIResponderInputViewAdditions) reloadInputViews] + 132
13 WebKit 0x00000001c102447c -[WKContentView(WKInteraction) _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:] + 2088
14 WebKit 0x00000001c0d354d4 _ZN6WebKit12WebPageProxy15elementDidFocusERKNS_25FocusedElementInformationEbbN3***9OptionSetIN7WebCore13ActivityState4FlagEEERKNS_8UserDataE + 216
15 WebKit 0x00000001c0f9bee8 _ZN6WebKit12WebPageProxy17didReceiveMessageERN3IPC10ConnectionERNS1_7DecoderE + 61312
16 WebKit 0x00000001c0993e24 _ZN3IPC18MessageReceiverMap15dispatchMessageERNS_10ConnectionERNS_7DecoderE + 272
17 WebKit 0x00000001c0d041e8 _ZN6WebKit15WebProcessProxy17didReceiveMessageERN3IPC10ConnectionERNS1_7DecoderE + 40
18 WebKit 0x00000001c09763e0 _ZN3IPC10Connection15dispatchMessageENSt3__110unique_ptrINS_7DecoderENS1_14default_deleteIS3_EEEE + 808
19 WebKit 0x00000001c09759f0 _ZN3IPC10Connection24dispatchIncomingMessagesEv + 508
20 JavaScriptCore 0x00000001bfef8a40 _ZN3***7RunLoop11performWorkEv + 292
21 JavaScriptCore 0x00000001bfef9bb0 _ZN3***7RunLoop11performWorkEPv + 36
22 CoreFoundation 0x0000000188278bbc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
23 CoreFoundation 0x0000000188278b08 __CFRunLoopDoSource0 + 208
24 CoreFoundation 0x00000001882787f4 __CFRunLoopDoSources0 + 268
25 CoreFoundation 0x0000000188277168 __CFRunLoopRun + 820
26 CoreFoundation 0x0000000188276694 CFRunLoopRunSpecific + 600
27 HIToolbox 0x0000000190dec990 RunCurrentEventLoopInMode + 292
28 HIToolbox 0x0000000190dec704 ReceiveNextEventCommon + 552
29 HIToolbox 0x0000000190dec4c4 _BlockUntilNextEventMatchingListInModeWithFilter + 72
30 AppKit 0x000000018adcbaec _DPSNextEvent + 844
31 AppKit 0x000000018adca390 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1332
32 AppKit 0x000000018adbc3b0 -[NSApplication run] + 596
33 AppKit 0x000000018ad8da84 NSApplicationMain + 1064
34 AppKit 0x000000018b063ff0 +[NSWindow _savedFrameFromString:] + 0
35 UIKitMacHelper 0x000000019d764484 UINSApplicationMain + 1280
36 UIKitCore 0x00000001af5b2ce4 UIApplicationMain + 164
37 TestMacPro 0x0000000100d15bb4 main + 128
38 dyld 0x000000010102d0f4 start + 520
)
(lldb)
Hi,
I have a Qt app (https://www.qt.io/) which contains the main app executable file, Qt frameworks, and Qt plugins bundled.
Signing the app this way works fine and the app is successfully published on the Mac App Store (the "deep" flag is only used for testing):
codesign --deep -f -s "Apple Distribution" -v --entitlements "MyApp.entitlements" "MyApp.app"
Entitlements:
<?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>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.network.server</key>
<true/>
<key>com.apple.security.files.downloads.read-write</key>
<true/>
<key>com.apple.security.device.audio-input</key>
<true/>
<key>com.apple.security.device.serial</key>
<true/>
<key>com.apple.security.files.bookmarks.app-scope</key>
<true/>
<key>com.apple.security.personal-information.location</key>
<true/>
<key>com.apple.security.app-sandbox</key>
<true/>
</dict>
</plist>
But as soon as I change the entitlements file as follows, the app crashes with a "Code signature invalid" error:
<?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>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.network.server</key>
<true/>
<key>com.apple.security.files.downloads.read-write</key>
<true/>
<key>com.apple.security.device.audio-input</key>
<true/>
<key>com.apple.security.device.serial</key>
<true/>
<key>com.apple.security.files.bookmarks.app-scope</key>
<true/>
<key>com.apple.security.personal-information.location</key>
<true/>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.application-identifier</key>
<string>TEAM_ID.com.myapp</string>
<key>com.apple.developer.team-identifier</key>
<string>TEAM_ID</string>
</dict>
</plist>
Running codesign -dvvv --entitlement :- ./MyApp.app on the signed app packages shows the correct entitlement. I can upload both app versions to the Mac App Store without problems.
The modified entitlements file is required for enabling TestFlight testing in iTunes Connect. What could be the reason for the crash when using the modified entitlements file?
Regards,
Post not yet marked as solved
I'm not sure what type of provisioning profile I need to create for my Mac App to allow TestFlight. I am archiving the app through Xcode and allowing it to control the provisioning but it still does not work.
Because the receipt file doesn't exist at the following path, my application exits with error code 173.
/Applications/Notched Up.app/Contents/_MASReceipt/receipt
However unlike in the past where it then re-launches and works, I'm now getting the error message that this application is damaged and must be re-downloaded from the App Store.
In the console I see the following messages.
error 12:35:02.553477+0800 Notched Up (com.apple.libsqlite3) cannot open file at line 45340 of [d24547a13b]
error 12:35:02.553498+0800 Notched Up (com.apple.libsqlite3) os_unix.c:45340: (2) open(/var/db/DetachedSignatures) - No such file or directory
default 12:35:04.481080+0800 storeuid (com.apple.commerce) Fetching missing receipt for sandbox app /Applications/Notched Up.app
default 12:35:04.707374+0800 storelegacy (com.apple.commerce) StoreLegacy: Failed to perform in-line receipt renewal for application at path /Applications/Notched Up.app : 'Error Domain=com.apple.commerce.client Code=500 "(null)"'
My gut is telling me that something internal related to the App Store isn't working correctly as this code was functional a couple of weeks ago and while the first two lines show sql, this app doesn't use sqlite.
App is signed with "Apple Distribution".
Have tested app with "Apple Development".
Have removed entitlements that need a profile and the provisioning profile.
The App Store application shows the correct "Sandbox" tester account (in the preferences).
I've logged the test account out and back in.
I've verified that tester account is the same store locale as my main account.
I've rebooted this i9 16" MBP running macOS 12.0.1, even thought it rebooted itself last night, because ????
Any advice, can you spot something I've done wrong?
We have a simple sandboxed app with important checkbox, and toggling it enables a system-wide setting. In order for this setting to be applied at login, we use a Service Management login item installed via SMLoginItemSetEnabled, located in in the main app bundle’s Contents/Library/LoginItems folder.
A couple of questions:
General — does the helper tool need to launch the main app, or can it apply the setting itself? All we have to do is apply a setting at login without showing UI, then terminate the app.
Technical — does the helper tool need to be a full application bundle, or can it be just a simple sandboxed command line tool, since it has no UI?
Any suggestions are welcome on how to elegantly solve this and still fly in Mac App Store.