![]() Most of that time was spent dealing with the removal of the dependencies and converting the code to Swift 4.2. Porting it took me around 2 hours and I was surprised at the results. ChibiStudio also has an iMessage app (which is not supported on macOS), so I removed that. ![]() Again, most of the time was spent dealing with dependencies and “flattening” the app so it would build in only one target (the original app is divided into multiple frameworks). The Mac has CoreAnimation, but there are some differences between that and its iOS counterpart. My app uses CoreAnimation very heavily, so I was curious to see how it would work on the Mac. With some more work, I could probably make it more Mac-like, maybe with a translucent sidebar for the articles list like Apple did with the News app. The resulting app works very well on the Mac, you can browse articles and read them just like on iPad. Getting the app to run on the Mac took me about an hour of work, most of which was spent dealing with the removal of dependencies, converting it to Swift 4.2 and dealing with issues caused by the hacky build process. It’s not that you can’t have dependencies on your iOS app if you want to port it to the Mac, but I wanted the build process to be as simple as possible since Apple is not distributing an official SDK yet. ![]() He sent me an archive of the code and the first step was to remove all dependencies (third-party frameworks). This was an interesting project because I’m not familiar with the codebase since the 9to5Mac app is developed by Benjamin Mayo. I decided to try out two experiments to see just how minimal an effort it would be to port an iOS app to the Mac: porting the 9to5Mac app and my own ChibiStudio app. This is still the first beta and all of the issues and missing features mentioned above can be addressed, I expect the iOS app experience on the Mac to improve significantly before September and until Apple decides it’s ready for third-party developers to adopt. Other iOS UI elements look weird on the Mac, such as form sheets and alerts, which sometimes open up the standard Mac alert sheet, but not always. If the iOS app tries to open up a new window, it just replaces the contents on the main, single window it has access to on the Mac. First of all, UIKit apps on macOS can’t have more than one Mac window, so multi-window apps are not currently possible. There are some things about iOS apps running on the Mac that feel out of place at the moment. These elements have been exposed to the iOS apps through new classes in the version of UIKit available on the Mac. Other Mac-like elements that can be used by iOS apps on macOS are contextual menus, the menu bar, translucent sidebars (such as the one in the News app), window toolbars and the Touch Bar. User interface elements that have long-press or 3D-touch gestures for activation on iOS get those gestures replaced by a double-click, this can be seen in the Home app: on iOS, you 3D-touch or long-press one of the devices on the grid to open the details view, while on the Mac you double-click to get the same effect. When calling for a share sheet to be opened, the iOS app running on macOS will show the standard Mac sharing menu. Another control that’s translated automatically is the share sheet. At least in the current state of the project, it looks like Apple decided not to adapt the look of the apps too much, so they look a lot like the iOS versions, especially the Home app.Īpps that are tab-based get an adaptation: the iOS tab bar disappears and is replaced by a native Mac toolbar with a segmented control. Moving apps from a platform that’s based on touch input to a platform that’s based on a mouse and keyboard has some usability implications. These iOS apps on the Mac are currently known by the system as “iOSMac” apps. We shouldn’t expect anyone at Apple to ever say this name publicly though. I decided to explore this project and see just how minimal an effort it would be to port an existing, real-world iOS app to the Mac.įirst of all, I’ve been able to confirm that this project is (or was at some point) in fact called Marzipan internally. Without giving it any name, Craig explained that this project allows iOS apps to be ported to the Mac with minimal effort,that Apple used this for their News, Stocks and Voice Memos apps and that it would become available to third-party developers next year. At the end of the Keynote, Craig Federighi presented a sneak peek at a multi-phase project they’ve been working on. During the presentation, speculation began on how these could be the iOS apps themselves, ported to the Mac with the rumored Marzipan project. With macOS Mojave, Apple introduced four apps that were previously only available on iOS: Stocks, News, Home and Voice Memos.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |