Giter Site home page Giter Site logo

Support for 'macOS' about rocketdata HOT 18 CLOSED

KevinVitale avatar KevinVitale commented on June 27, 2024
Support for 'macOS'

from rocketdata.

Comments (18)

hebertialmeida avatar hebertialmeida commented on June 27, 2024 1

I guess we can close this, now that we support iOS, macOS, tvOS...

from rocketdata.

plivesey avatar plivesey commented on June 27, 2024 1

Agreed.

from rocketdata.

plivesey avatar plivesey commented on June 27, 2024

I haven't worked with macOS before. I don't think it would be much...Rocket Data only relies on Foundation so that should be fine right?

Consistency Manager has a depenedency on UIKit but this is only for handling UIApplicationDidReceiveMemoryWarningNotification. Is this different on macOS?

from rocketdata.

nicksnyder avatar nicksnyder commented on June 27, 2024

As a data point, it wasn't that difficult to support macOS for LayoutKit. Just need to create a new target (make sure it produces the same named library) and shim things if possible.

https://github.com/linkedin/LayoutKit/pull/11/files

from rocketdata.

plivesey avatar plivesey commented on June 27, 2024

So UIKit is not OK for tvOS? It that's the main thing that's different, it should be really easy. But, not sure how to handle memory warnings on tvOS.

from rocketdata.

nicksnyder avatar nicksnyder commented on June 27, 2024

iOS -> UIKit (e.g. UIView, UIApplication, etc.)
macOS -> AppKit (e.g. NSView, NSApplication, etc.)

tvOS has UIKit (but this issue is about macOS)

To support both, I was able to just create shims for UIKit and AppKit
https://github.com/linkedin/LayoutKit/blob/master/LayoutKit/UIKitSupport.swift
https://github.com/linkedin/LayoutKit/blob/master/LayoutKit/AppKitSupport.swift

e.g. my code uses View which maps to UIView on iOS and NSView on macOS.
The API aren't guaranteed to be identical but they mostly are.

from rocketdata.

plivesey avatar plivesey commented on June 27, 2024

oh haha...just noticed this is asking about macOS not iOS. Yeah, that makes sense.

So yeah, I think supporting this should be trivial. I'll take a look later today and see where I get.

from rocketdata.

plivesey avatar plivesey commented on June 27, 2024

Update: I've worked out the code changes necessary to do this, but can't work out the code signing issues. Whenever I run tests, it says: Failed to code sign "ConsistencyManagerTests".. Unclear why it cares for mac but not for iOS...

from rocketdata.

plivesey avatar plivesey commented on June 27, 2024

@nicksnyder did you have any problems with this for LayoutKit?

from rocketdata.

nicksnyder avatar nicksnyder commented on June 27, 2024

I don't remember running into codesign issues. I created a separate target for the macOS tests, did you do that too?

from rocketdata.

KevinVitale avatar KevinVitale commented on June 27, 2024

I believe Code Signing can be disabled for macOS targets

from rocketdata.

plivesey avatar plivesey commented on June 27, 2024

I disabled it...but it still complains. My branch is osx if you have time to take a look. Will investigate more soon.

from rocketdata.

plivesey avatar plivesey commented on June 27, 2024

https://github.com/linkedin/ConsistencyManager-iOS/tree/osx

from rocketdata.

plivesey avatar plivesey commented on June 27, 2024

https://github.com/linkedin/ConsistencyManager-iOS/pull/33/files

from rocketdata.

plivesey avatar plivesey commented on June 27, 2024

Running into more problems with Rocket Data. It looks like I may need multiple workspaces to support this if I want to use cocoapods. I don't think you can have a Podfile which supports multiple platforms.

from rocketdata.

asowers1 avatar asowers1 commented on June 27, 2024

Howdy 👋 Would the help wanted request also apply to tvOS? I've already made some headway with ConsistencyManager: https://github.com/asowers1/ConsistencyManager-iOS/tree/as/tvOS . Also, I think you can have a Podfile that supports multiple platforms in the same workspace.

from rocketdata.

plivesey avatar plivesey commented on June 27, 2024

from rocketdata.

asowers1 avatar asowers1 commented on June 27, 2024

plivesey/ConsistencyManager#49

from rocketdata.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.