I want to upload a MacOS App to App Store Connect and have it be available to test in TestFlight. I have already managed to sign the application as needed, as I can upload builds. The problem is, that they get marked as "Not Available for Testing".
At first App Store Connect notified me of this issue:
"ITMS-90889: 'Cannot be used with TestFlight because the bundle at “RougeLike.app” is missing a provisioning profile. Main bundles are expected to have provisioning profiles in order to be eligible for TestFlight.'"
I added a provisioning profile to the app bundle at Contents/embedded.provisionprofile. Now I don't get this notification anymore, but the app still is marked as "Not Available for Testing".
Does anybody know how to solve that?
Post
Replies
Boosts
Views
Activity
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.
I want to create a SharePlay Application that plays a video without using AVPlayer.
From what I have found in the documentation I think I should use the AVDelegatingPlaybackCoordinator. But I can't get it to work.
I have created an AVPlaybackCoordinatorPlaybackControlDelegate that looks like this:
class CustomControlDelegate: NSObject, AVPlaybackCoordinatorPlaybackControlDelegate {
let player: SomePlayer
init(player: SomePlayer) {
self.player = player
}
func playbackCoordinator(_ coordinator: AVDelegatingPlaybackCoordinator, didIssue playCommand: AVDelegatingPlaybackCoordinatorPlayCommand, completionHandler: @escaping () -> Void) {
print("playing")
player.play()
}
func playbackCoordinator(_ coordinator: AVDelegatingPlaybackCoordinator, didIssue pauseCommand: AVDelegatingPlaybackCoordinatorPauseCommand, completionHandler: @escaping () -> Void) {
print("pausing")
player.pause()
}
func playbackCoordinator(_ coordinator: AVDelegatingPlaybackCoordinator, didIssue seekCommand: AVDelegatingPlaybackCoordinatorSeekCommand, completionHandler: @escaping () -> Void) {
print("seek")
}
func playbackCoordinator(_ coordinator: AVDelegatingPlaybackCoordinator, didIssue bufferingCommand: AVDelegatingPlaybackCoordinatorBufferingCommand, completionHandler: @escaping () -> Void) {
print("buffer")
}
}
The player.play() and player.pause() methods work when I call them myself, so this is not the issue.
I Create the coordinator like this:
delegate = SomePlayerControlDelegate(player: somePlayer)
coordinator = AVDelegatingPlaybackCoordinator(playbackControlDelegate: delegate)
When I want to start the player I use this code:
coordinator.coordinateRateChange(to: 1)
And to pause I use:
coordinator.coordinateRateChange(to: 0)
But nothing happens. The playbackCoordinator functions do not get called at all.
Am I using the wrong functions?
Xcode is unable to Grant Xcode Cloud access to my source code. When setting up a workflow one of the steps is "Grant Access to Your Source Code". On this tab I can select my self hosted Gitlab instance and click "Grant Access...". When I do this I get the following error message:
This operation could not be completed. invalid clone_urls: http://[gitlab_repo_url].git