Post

Replies

Boosts

Views

Activity

Publishing Application For A Customer
On Android I am able to give a customer an APK, they can then take the APK and publish it to the Google Play Store under their Google Play Console Account. This allows my customer to not have to know how to produce an APK to publish to the Google Play Store. I'm not as familiar with iOS Development but it seems I do not have this option. I can only publish to App Store Connect via Xcode or create a Distributable App that I can deliver to my own customers via Xcode. I want to be able to hand my customer the App in a publishable form and then allow them to publish under their own Apple Developer Account without having to use Xcode or any other developer tools besides the https://appstoreconnect.apple.com/. What is the best way to accomplish this? If this is not accomplishable what is the best way I can organize this for the company that will not require them to have an iOS Developer on hand?
1
0
554
Jun ’21
Mac Catalyst cannot capture .command key modifier with pressesBegan override
Hello! I'm developing a remote desktop control application for iOS that must be able to capture all keyboard input on the device including the Cmd key (equivalent to Super / Start key on non Mac keyboards) when the app is in the foreground in order to send them to the remote desktop. I have not yet tried to see if an iOS device with an external keyboard sees the .command key modifier, but when I enabled Mac Catalyst support and installed the app on my Mac and added the following methods to AppDelegate: &#9;&#9;override func pressesBegan(_ presses: Set<UIPress>, &#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; with event: UIPressesEvent?) { &#9;&#9;&#9;&#9;super.pressesBegan(presses, with: event) &#9;&#9;&#9;&#9;print(presses.first?.key, presses.first?.key?.modifierFlags) &#9;&#9;} &#9;&#9;override func pressesEnded(_ presses: Set<UIPress>, &#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; with event: UIPressesEvent?) { &#9;&#9;&#9;&#9;super.pressesEnded(presses, with: event) &#9;&#9;&#9;&#9;print(presses.first?.key, presses.first?.key?.modifierFlags) &#9;&#9;} &#9;&#9;override func pressesCancelled(_ presses: Set<UIPress>, &#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; with event: UIPressesEvent?) { &#9;&#9;&#9;&#9;super.pressesCancelled(presses, with: event) &#9;&#9;&#9;&#9;print(presses.first?.key, presses.first?.key?.modifierFlags) &#9;&#9;} I was able to capture pretty much any key combination I try except when the Cmd key is also in the key-combination. When the Cmd key is in the key combination or pressed alone, there is absolutely nothing sent to the app. The event appears to be reserved and consumed by Mac OS X completely. For completeness to this post, I'd like to add that I tried removing all the menus from the app as well just in case the menu was to blame for consuming the Cmd key events, but nothing changed: &#9;&#9;override func buildMenu(with builder: UIMenuBuilder) { &#9;&#9;&#9;&#9;if builder.system == .main { &#9;&#9;&#9;&#9;&#9;&#9;builder.remove(menu: .edit) &#9;&#9;&#9;&#9;&#9;&#9;builder.remove(menu: .format) &#9;&#9;&#9;&#9;&#9;&#9;builder.remove(menu: .help) &#9;&#9;&#9;&#9;&#9;&#9;builder.remove(menu: .file) &#9;&#9;&#9;&#9;&#9;&#9;builder.remove(menu: .window) &#9;&#9;&#9;&#9;&#9;&#9;builder.remove(menu: .view) &#9;&#9;&#9;&#9;&#9;&#9;let dummyCommand = UICommand(title: "Dummy", &#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;action: #selector(dummy), &#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;discoverabilityTitle: "dummy") &#9;&#9;&#9;&#9;&#9;&#9;let mainMenu = UIMenu(title: "Dummy", image: nil, identifier: UIMenu.Identifier("dummy"), options: .displayInline, children: [dummyCommand]) &#9;&#9;&#9;&#9;&#9;&#9;builder.replace(menu: .application, with: mainMenu) &#9;&#9;&#9;&#9;} &#9;&#9;} I've also tried putting the app into fullscreen mode to no avail. Any other suggestions on how I can capture the .command modifier? If there is no way to detect .command, is this a bug or intended behavior? Thank you very much! iordan
0
0
506
Oct ’20