Texture
Texture copied to clipboard
macOS Catalyst Support
Any chance of supporting Catalyst anytime soon?
There's a few issues with text rendering and some thread affinity stuff that seems to break when being run as UIKit on the mac.
If there are plans to adopt it / support it, I'll happily post crash logs / more info.
Hi Adam! Would you be so kind and post in some crash logs and more info in here. I don't have a Catalina machine on hand yet, but would happily take a first look so we can tackle it as soon as we get a machine. Thanks and appreciated!
After explicitly building AsyncDisplayKit.framework with UIKit macOS support (meaning to enable that checkbox in Xcode 11) I was able to run my Texture app on macOS! 😃My only problem was ASCollectionView and IGListKIt, some assertions for setDatasource/setDelegate produced crashes. But after commenting them out + re-building IGLIstKit everything seems working at first glance, but need a more careful investigation. Can't express enough how awesome it is, async layout on 60 fps, the same UIView animations + other libraries. Magic!
So now I need to figure out what needs to be contributed back. Have someone else managed to built their app with Texture?
Although, window resizing s something:
@ptmt Got our iOS Composer at Buffer running on Mac last week. Think I hit the same issues as you, mainly around getting Texture to include the correct frameworks when building on Mac along with IGListKit tweaks.
Things that spring to mind...
- Unsupported AssetsLibrary was being included, need to add check for UIKitForMac.
- ASDisplayNode CAEAGLLayer check
echoing what was already mentioned, thanks for those notes @ay8s
The other main issue I saw was font rendering, it appears as though the CF attribute stripping of NSAttributedString
is breaking system fonts (i.e. SF Pro, +systemFontOfSize:
, etc.).
I have a pretty hacky fix here: https://github.com/b3ll/Texture/commit/140af43cfa9fd4de6737014c8a75269ff7973725
Didn't really test it that much though
Can maybe PR that one @b3ll, maybe can be tidied up with some input :) Been loving Times New Roman :P
@b3ll Could you try out running ASTextNode2
instead of ASTextNode
. This is using Core Text directly.
ASTextNode2
indeed solves both resizing and font problems, thanks!
ASTextNode2
also fixed it for me!
What's the deal with ASTextNode
vs. ASTextNode2
? Is there an eta when we should switch?
Just FYI, I fixed the font issue so it should be safe to use either text node now
Things that spring to mind...
Unsupported AssetsLibrary was being included, need to add check for UIKitForMac. ASDisplayNode CAEAGLLayer check
@ay8s Hey! May I do a PR for those things?
@martinstoyanov mine works pretty well. Just make sure you remove all references to AssetsLibrary:
- Delete
AssetsLibrary.framework
from Texture's linked framework list; - Search and delete all
-framework "AssetsLibrary"
; - Search and replace all
AS_USE_ASSETS_LIBRARY=1
toAS_USE_ASSETS_LIBRARY=0
.
How did you get around ASDisplayNode CAEAGLLayer check
?
@brennanerbz Yes, you can check it out https://github.com/nickaroot/Texture/commit/05a486e3275de53f2b0dfb24925fa528e2b610e6