Code Monkey home page Code Monkey logo

Comments (16)

thatjuan avatar thatjuan commented on June 2, 2024

same issue here

from meteor-ios.

justinmakaila avatar justinmakaila commented on June 2, 2024

Digging through, I see that Pods.xcodeproj does in fact not have any shared schemes, but I'm confused as to why carthage is even looking in it. Probably has something to do with it automatically searching all .xcodeproj's for shared schemes

from meteor-ios.

thatjuan avatar thatjuan commented on June 2, 2024

I also cloned the repo, opened the workspace, but I'm unable to build any of the targets :/

from meteor-ios.

justinmakaila avatar justinmakaila commented on June 2, 2024

Adding an explicit commit to my Cartfile.resolved solved the problem.

Cartfile.resolved:

github "martijnwalraven/meteor-ios" "3b598cc9421df9affbef155ee3ce6dc5ff0572a9"

I think we need to bump the version to reflect the latest commit.

from meteor-ios.

thatjuan avatar thatjuan commented on June 2, 2024

@justinmakaila cool thanks!, that worked for me too.. So this might be a Carthage bug?

from meteor-ios.

thatjuan avatar thatjuan commented on June 2, 2024

@justinmakaila after installing it, did you run into #26 by any chance?

from meteor-ios.

justinmakaila avatar justinmakaila commented on June 2, 2024

I'm not sure, I'm still writing code to test.

It's probably an issue because the dependencies are not specified within a Cartfile.resolved in the repository.

I'll take a look in a bit, see if I can file a PR.

from meteor-ios.

martijnwalraven avatar martijnwalraven commented on June 2, 2024

I've released a new version that should at least allow the Meteor framework to build again using Carthage. But I'm afraid that isn't of much use because of #26.

Having to support both CocoaPods and Carthage is a pain, so suggestions for improvements are very welcome. I'm struggling with finding a way to embed dependencies specified as Pods, but maybe that is not the way to go.

Using Cartfile.resolved won't work for dependencies that do not have an Xcode project but only build using CocoaPods (such as https://github.com/mattt/InflectorKit).

from meteor-ios.

thatjuan avatar thatjuan commented on June 2, 2024

@martijnwalraven thank you for looking into this.

I was thinking about forking InflectorKit and turning it into a framework that can be installed by Carthage, but I don't have a lot of time so I ended up switching to CocoaPods.

from meteor-ios.

justinmakaila avatar justinmakaila commented on June 2, 2024

@thatjuan and @martijnwalraven I have a fork of InflectorKit, PocketSocket, and SimpleKeychain which solves this issue, I just need to get an issue I'm having personally with Carthage worked out.

I've never found CocoaPods to be a desirable solution, as the workflow requires writing more code, where Carthage is as simple as changing some Xcode settings (once!) and using git tag to maintain versions.

That said, both are almost required to be considered a "modern" cocoa framework, which is a bummer when you have dependencies which are not "modern".

from meteor-ios.

thatjuan avatar thatjuan commented on June 2, 2024

@justinmakaila we're on the same page regarding CocoaPods. I switched back only because I really needed to get meteor-ios working for this project.

Thanks for working on getting this up and running with Carthage and let me know if there's anything I can pitch in. I've run into several issues with Carthage as well, but I'm sure it'll mature fairly quickly.

from meteor-ios.

justinmakaila avatar justinmakaila commented on June 2, 2024

Forks are here:

PocketSocket
InflectorKit
SimpleKeychain

I also have a fork of this repo, which has a Cartfile which points to those dependencies here.

Once my issues with Carthage are resolved, I'll file a PR.

from meteor-ios.

martijnwalraven avatar martijnwalraven commented on June 2, 2024

Great work! Ideally, I'd like to find a way to build the Meteor framework target using the Cartfile dependencies. Right now, the target uses the Pods project generated by CocoaPods, which means there could be version conflicts with the versions specified in the Cartfile.

Do you think it would make sense to include the dependent projects in the workspace and link to the framework targets? Maybe using submodules would help here? Or maybe include the Carthage/Build directory? In any case, it would be nice if we could get rid of the checked in Pods directory completely. I just want to make sure people cloning the repository can run the examples without using either CocoaPods or Carthage.

from meteor-ios.

martijnwalraven avatar martijnwalraven commented on June 2, 2024

That looks good! I merged your pull request. The test targets weren't working, so I had to make a few changes. Some of these had to do with directories I had renamed in a previous commit.

But I also had to add OCMock.framework to Carthage/Build. OCMock doesn't support Carthage unfortunately, but I did find a fork which at least has an iOS framework target. I added it to Cartfile.private but it still wouldn't build. For now, I've built it manually and copied the .framework file to the build directory.

I also had to add a 'Copy Dependencies' phase to the test targets. I'm not sure why it wouldn't use the embedded frameworks in Meteor.framework. Do you know anything about this?

from meteor-ios.

justinmakaila avatar justinmakaila commented on June 2, 2024

This should also be closed with #27.

I cleaned up some of the build phases of the targets, the "Copy Dependencies" on the Meteor target was overkill, because those dependencies are linked, and shouldn't be copied into the actual Meteor.framework.

I checked OCMock into the repo and got all the Unit Tests to pass, but I'm running into a lot of failures with the server integration tests. Do those pass for you?

from meteor-ios.

martijnwalraven avatar martijnwalraven commented on June 2, 2024

The server integration tests require a running test server (run 'meteor' in 'Tests/Test Server'). There are two tests that fail for me right now, both having to do with logging in. I think that might have to do with the tests expecting a user with a certain password to exist in the test server. I'll look into it.

from meteor-ios.

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.