Add Carthage & CocoaPods support. #352

Closed
guidomb wants to merge 4 commits from carthage-cocoapods-support into master
guidomb commented 2017-01-22 19:42:11 -08:00 (Migrated from github.com)

This supersedes #309 and #305.

This is still a work-in-progress.

TODO

  • Create Xcode project that builds an iOS framework
  • Fix failing tests on Xcode
  • Make pod lib lint pass and make sure YogaKit can be included using CocoaPods
  • Add pod lib lint to .travis.yml
  • Migrate to travis osx image with Xcode 8.2

FOLLOW-UP

  • Make YogaKitSample use framework built by new Xcode project.
  • Make Travis to upload prebuilt versions of the framework. More here
  • Upgrade github/jekyll docs about installation using Cocoapods/Carthage
This supersedes #309 and #305. This is still a **work-in-progress.** **TODO** - [x] Create Xcode project that builds an iOS framework - [x] Fix failing tests on Xcode - [x] Make `pod lib lint` pass and make sure YogaKit can be included using CocoaPods - [ ] Add `pod lib lint` to .travis.yml - [x] Migrate to travis osx image with Xcode 8.2 **FOLLOW-UP** - [ ] Make YogaKitSample use framework built by new Xcode project. - [ ] Make Travis to upload prebuilt versions of the framework. More [here](https://github.com/Carthage/Carthage#use-travis-ci-to-upload-your-tagged-prebuild-frameworks) - [ ] Upgrade github/jekyll docs about installation using Cocoapods/Carthage
guidomb commented 2017-01-22 19:45:12 -08:00 (Migrated from github.com)

@dshahidehpour @emilsjolander There are 4 tests that are failing in Xcode. Most of them seems to rounding errors when computing frames. I think @hartbit run into the same issue. Do you have any idea what could be the problem or how to solve this?

@dshahidehpour @emilsjolander There are 4 tests that are failing in Xcode. Most of them seems to rounding errors when computing frames. I think @hartbit run into the same issue. Do you have any idea what could be the problem or how to solve this?
d16r commented 2017-01-23 05:45:40 -08:00 (Migrated from github.com)

@guidomb The rounding failure is happening because buck test and Xcode are slightly different testing environments and their scales seem to be different, generating different results. I'll take care of it today.

Meanwhile, would you like some help with some of those other tasks? I'll migrate Travis to Xcode 8.2 today.

@guidomb The rounding failure is happening because `buck test` and Xcode are slightly different testing environments and their scales seem to be different, generating different results. I'll take care of it today. Meanwhile, would you like some help with some of those other tasks? I'll migrate Travis to Xcode 8.2 today.
guidomb commented 2017-01-23 11:07:27 -08:00 (Migrated from github.com)

@dshahidehpour Thanks! I'll wait until there are any news regarding the tests. Regarding the other items no worries I can work on those once the tests are fixed and there is no rush on migrating to Xcode 8.2 for now. I can do that once everything else has bee implemented but If you need / want to do that no worries.

@dshahidehpour Thanks! I'll wait until there are any news regarding the tests. Regarding the other items no worries I can work on those once the tests are fixed and there is no rush on migrating to Xcode 8.2 for now. I can do that once everything else has bee implemented but If you need / want to do that no worries.
d16r commented 2017-01-23 11:18:59 -08:00 (Migrated from github.com)

I put up a PR to use Xcode8.2 in #353

I put up a PR to use Xcode8.2 in #353
d16r commented 2017-01-24 10:14:28 -08:00 (Migrated from github.com)

@guidomb I landed fixes for the stuff blocking you. I also broke the list up into two sections, feel free to move stuff around!

@guidomb I landed fixes for the stuff blocking you. I also broke the list up into two sections, feel free to move stuff around!
guidomb commented 2017-01-24 10:22:52 -08:00 (Migrated from github.com)

Awesome! I'll keep working on this by the end of my day. Thanks!

Awesome! I'll keep working on this by the end of my day. Thanks!
guidomb commented 2017-01-24 15:53:26 -08:00 (Migrated from github.com)

I've incorporated the latest changes in master. The Xcode project is compiling and tests are passing. Carthage is also working. I am having problems with CocoaPods. There seems to be a problems with how header files are included. Need to do more research about it.

I've incorporated the latest changes in `master`. The Xcode project is compiling and tests are passing. Carthage is also working. I am having problems with CocoaPods. There seems to be a problems with how header files are included. Need to do more research about it.
d16r commented 2017-01-24 15:56:51 -08:00 (Migrated from github.com)

Awesome progress @guidomb! let us know if we can help with the header import stuff, can you paste the error?

Awesome progress @guidomb! let us know if we can help with the header import stuff, can you paste the error?
guidomb commented 2017-01-24 16:00:00 -08:00 (Migrated from github.com)
In file included from /Users/guidomb/Documents/projects/github/yoga/YogaKit/YogaKit/YGLayout.m:10:
In file included from /Users/guidomb/Documents/projects/github/yoga/YogaKit/YogaKit/YGLayout+Private.h:10:
/Users/guidomb/Documents/projects/github/yoga/YogaKit/YogaKit/YGLayout.h:11:9: fatal error: 'YogaKit/YGEnums.h' file not found
#import <YogaKit/YGEnums.h>
        ^

CompileC /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/Objects-normal/i386/YogaKit-dummy.o /private/var/folders/gf/dslbq4t94zg44sz7wnk2lg2r0000gp/T/CocoaPods/Lint/Pods/Target\ Support\ Files/YogaKit/YogaKit-dummy.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    cd /var/folders/gf/dslbq4t94zg44sz7wnk2lg2r0000gp/T/CocoaPods/Lint/Pods
    export LANG=en_US.US-ASCII
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Users/guidomb/.rbenv/versions/2.3.1/bin:/usr/local/Cellar/rbenv/1.1.0/libexec:/Users/guidomb/.nvm/versions/node/v6.3.1/bin:/usr/local/heroku/bin:/Users/guidomb/.rbenv/shims:/Users/guidomb/.rbenv/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/guidomb/.swiftyrobot"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch i386 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu99 -fobjc-arc -fmodules -gmodules -fmodules-cache-path=/Users/guidomb/Library/Developer/Xcode/DerivedData/ModuleCache -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/guidomb/Library/Developer/Xcode/DerivedData/ModuleCache/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Xclang -fmodule-implementation-of -Xclang YogaKit -Wno-trigraphs -fpascal-strings -Os -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Wunreachable-code -Wno-implicit-atomic-properties -Wno-arc-repeated-use-of-weak -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wno-deprecated-implementations -DPOD_CONFIGURATION_RELEASE=1 -DCOCOAPODS=1 -DNS_BLOCK_ASSERTIONS=1 -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.2.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -mios-simulator-version-min=8.0 -g -Wno-sign-conversion -Wno-infinite-recursion -fobjc-abi-version=2 -fobjc-legacy-dispatch -iquote /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/YogaKit-generated-files.hmap -I/Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/YogaKit-own-target-headers.hmap -I/Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/YogaKit-all-non-framework-target-headers.hmap -ivfsoverlay /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/all-product-headers.yaml -iquote /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/YogaKit-project-headers.hmap -I/Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Products/Release-iphonesimulator/YogaKit/include -I/var/folders/gf/dslbq4t94zg44sz7wnk2lg2r0000gp/T/CocoaPods/Lint/Pods/Headers/Private -I/var/folders/gf/dslbq4t94zg44sz7wnk2lg2r0000gp/T/CocoaPods/Lint/Pods/Headers/Public -I/Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/DerivedSources/i386 -I/Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/DerivedSources -F/Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Products/Release-iphonesimulator/YogaKit -Wincomplete-umbrella -include /var/folders/gf/dslbq4t94zg44sz7wnk2lg2r0000gp/T/CocoaPods/Lint/Pods/Target\ Support\ Files/YogaKit/YogaKit-prefix.pch -MMD -MT dependencies -MF /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/Objects-normal/i386/YogaKit-dummy.d --serialize-diagnostics /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/Objects-normal/i386/YogaKit-dummy.dia -c /private/var/folders/gf/dslbq4t94zg44sz7wnk2lg2r0000gp/T/CocoaPods/Lint/Pods/Target\ Support\ Files/YogaKit/YogaKit-dummy.m -o /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/Objects-normal/i386/YogaKit-dummy.o

** BUILD FAILED **


The following build commands failed:
	CompileC /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/Objects-normal/i386/UIView+Yoga.o /Users/guidomb/Documents/projects/github/yoga/YogaKit/YogaKit/UIView+Yoga.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/Objects-normal/x86_64/UIView+Yoga.o /Users/guidomb/Documents/projects/github/yoga/YogaKit/YogaKit/UIView+Yoga.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(2 failures)
 -> YogaKit (1.0.0)
    - ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code.
    - NOTE  | xcodebuild:  /Users/guidomb/Documents/projects/github/yoga/YogaKit/YogaKit/YGLayout.h:11:9: fatal error: 'YogaKit/YGEnums.h' file not found

Pods workspace available at `/var/folders/gf/dslbq4t94zg44sz7wnk2lg2r0000gp/T/CocoaPods/Lint/App.xcworkspace` for inspection.
``` In file included from /Users/guidomb/Documents/projects/github/yoga/YogaKit/YogaKit/YGLayout.m:10: In file included from /Users/guidomb/Documents/projects/github/yoga/YogaKit/YogaKit/YGLayout+Private.h:10: /Users/guidomb/Documents/projects/github/yoga/YogaKit/YogaKit/YGLayout.h:11:9: fatal error: 'YogaKit/YGEnums.h' file not found #import <YogaKit/YGEnums.h> ^ CompileC /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/Objects-normal/i386/YogaKit-dummy.o /private/var/folders/gf/dslbq4t94zg44sz7wnk2lg2r0000gp/T/CocoaPods/Lint/Pods/Target\ Support\ Files/YogaKit/YogaKit-dummy.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler cd /var/folders/gf/dslbq4t94zg44sz7wnk2lg2r0000gp/T/CocoaPods/Lint/Pods export LANG=en_US.US-ASCII export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Users/guidomb/.rbenv/versions/2.3.1/bin:/usr/local/Cellar/rbenv/1.1.0/libexec:/Users/guidomb/.nvm/versions/node/v6.3.1/bin:/usr/local/heroku/bin:/Users/guidomb/.rbenv/shims:/Users/guidomb/.rbenv/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/guidomb/.swiftyrobot" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch i386 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu99 -fobjc-arc -fmodules -gmodules -fmodules-cache-path=/Users/guidomb/Library/Developer/Xcode/DerivedData/ModuleCache -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/guidomb/Library/Developer/Xcode/DerivedData/ModuleCache/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Xclang -fmodule-implementation-of -Xclang YogaKit -Wno-trigraphs -fpascal-strings -Os -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Wunreachable-code -Wno-implicit-atomic-properties -Wno-arc-repeated-use-of-weak -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wno-deprecated-implementations -DPOD_CONFIGURATION_RELEASE=1 -DCOCOAPODS=1 -DNS_BLOCK_ASSERTIONS=1 -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.2.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -mios-simulator-version-min=8.0 -g -Wno-sign-conversion -Wno-infinite-recursion -fobjc-abi-version=2 -fobjc-legacy-dispatch -iquote /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/YogaKit-generated-files.hmap -I/Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/YogaKit-own-target-headers.hmap -I/Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/YogaKit-all-non-framework-target-headers.hmap -ivfsoverlay /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/all-product-headers.yaml -iquote /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/YogaKit-project-headers.hmap -I/Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Products/Release-iphonesimulator/YogaKit/include -I/var/folders/gf/dslbq4t94zg44sz7wnk2lg2r0000gp/T/CocoaPods/Lint/Pods/Headers/Private -I/var/folders/gf/dslbq4t94zg44sz7wnk2lg2r0000gp/T/CocoaPods/Lint/Pods/Headers/Public -I/Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/DerivedSources/i386 -I/Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/DerivedSources -F/Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Products/Release-iphonesimulator/YogaKit -Wincomplete-umbrella -include /var/folders/gf/dslbq4t94zg44sz7wnk2lg2r0000gp/T/CocoaPods/Lint/Pods/Target\ Support\ Files/YogaKit/YogaKit-prefix.pch -MMD -MT dependencies -MF /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/Objects-normal/i386/YogaKit-dummy.d --serialize-diagnostics /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/Objects-normal/i386/YogaKit-dummy.dia -c /private/var/folders/gf/dslbq4t94zg44sz7wnk2lg2r0000gp/T/CocoaPods/Lint/Pods/Target\ Support\ Files/YogaKit/YogaKit-dummy.m -o /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/Objects-normal/i386/YogaKit-dummy.o ** BUILD FAILED ** The following build commands failed: CompileC /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/Objects-normal/i386/UIView+Yoga.o /Users/guidomb/Documents/projects/github/yoga/YogaKit/YogaKit/UIView+Yoga.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler CompileC /Users/guidomb/Library/Developer/Xcode/DerivedData/App-evazeamnsdiztlbpbpbtigpkmeaa/Build/Intermediates/Pods.build/Release-iphonesimulator/YogaKit.build/Objects-normal/x86_64/UIView+Yoga.o /Users/guidomb/Documents/projects/github/yoga/YogaKit/YogaKit/UIView+Yoga.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (2 failures) -> YogaKit (1.0.0) - ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code. - NOTE | xcodebuild: /Users/guidomb/Documents/projects/github/yoga/YogaKit/YogaKit/YGLayout.h:11:9: fatal error: 'YogaKit/YGEnums.h' file not found Pods workspace available at `/var/folders/gf/dslbq4t94zg44sz7wnk2lg2r0000gp/T/CocoaPods/Lint/App.xcworkspace` for inspection. ```
hartbit commented 2017-01-24 22:14:14 -08:00 (Migrated from github.com)

Carthage is compiling but have you tried using it in a test project? I remember the header files causing issues there too.

On 25 Jan 2017, at 00:56, Dustin Shahidehpour notifications@github.com wrote:

Awesome progress @guidomb! let us know if we can help with the header import stuff, can you paste the error?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Carthage is compiling but have you tried using it in a test project? I remember the header files causing issues there too. > On 25 Jan 2017, at 00:56, Dustin Shahidehpour <notifications@github.com> wrote: > > Awesome progress @guidomb! let us know if we can help with the header import stuff, can you paste the error? > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub, or mute the thread. >
d16r commented 2017-01-25 11:09:58 -08:00 (Migrated from github.com)

@guidomb I messed around with this last night for a bit too. Here are some takeaways:

  1. Lose the symlink to add the yoga/* files. Just move .swift-version and YogaKit.podspec to the parent directory. @emilsjolander is fine with that.
  2. React-Native has to do something very similar. They have a mirrored copy of yoga in their library. Here's their podspec. Notice how they declare yoga as a subspec and make another react subspec. I think we should go that route too. I tried it last night, but pod lib lint still wasn't happy.
@guidomb I messed around with this last night for a bit too. Here are some takeaways: 1. Lose the symlink to add the yoga/* files. Just move `.swift-version` and `YogaKit.podspec` to the parent directory. @emilsjolander is fine with that. 2. React-Native has to do something very similar. They have a mirrored copy of yoga in their library. Here's their [podspec](https://github.com/facebook/react-native/blob/master/React.podspec). Notice how they declare yoga as a **subspec** and make another react subspec. I think we should go that route too. I tried it last night, but `pod lib lint` still wasn't happy.
alloy commented 2017-01-25 20:50:53 -08:00 (Migrated from github.com)

I was able to get it to lint with the changes outlined by @dshahidehpour and adding a header search path: afa4ff61ad

Additionally I simplified the file selection sets.

Does anyone have an application that this should integrate with that I can test out? Or should this be used inside React Native?

I was able to get it to lint with the changes outlined by @dshahidehpour and adding a header search path: https://github.com/facebook/yoga/commit/afa4ff61ad3fb7efaba938590fd57e60cca34bb5 Additionally I simplified the file selection sets. Does anyone have an application that this should integrate with that I can test out? Or should this be used inside React Native?
alloy commented 2017-01-25 20:55:13 -08:00 (Migrated from github.com)

However, I should add that the fix depends on a change that’s in CP 1.2.0, which is currently in RC: https://github.com/CocoaPods/CocoaPods/blob/master/CHANGELOG.md#120beta1-2016-10-28

However, I should add that the fix depends on a change that’s in CP 1.2.0, which is currently in RC: https://github.com/CocoaPods/CocoaPods/blob/master/CHANGELOG.md#120beta1-2016-10-28
alloy (Migrated from github.com) reviewed 2017-01-25 21:17:10 -08:00
@@ -0,0 +15,4 @@
DESC
spec.documentation_url = 'https://facebook.github.io/yoga/docs/getting-started/'
spec.source = { :git => 'https://github.com/facebook/yoga.git', :tag => "v#{spec.version}" }
spec.platform = :ios
alloy (Migrated from github.com) commented 2017-01-25 21:17:10 -08:00

Why is this only targeting iOS, shouldn’t the core library be able to build for all platforms? (So minus the UIView stuff.)

Why is this only targeting iOS, shouldn’t the core library be able to build for all platforms? (So minus the UIView stuff.)
hartbit (Migrated from github.com) reviewed 2017-01-25 22:25:55 -08:00
@@ -0,0 +15,4 @@
DESC
spec.documentation_url = 'https://facebook.github.io/yoga/docs/getting-started/'
spec.source = { :git => 'https://github.com/facebook/yoga.git', :tag => "v#{spec.version}" }
spec.platform = :ios
hartbit (Migrated from github.com) commented 2017-01-25 22:25:55 -08:00

While the core library could technically build on all platforms, I plan to send a PR soon with an NSView extension. I guess we could all platforms then.

While the core library could technically build on all platforms, I plan to send a PR soon with an NSView extension. I guess we could all platforms then.
alloy (Migrated from github.com) reviewed 2017-01-26 06:33:07 -08:00
@@ -0,0 +15,4 @@
DESC
spec.documentation_url = 'https://facebook.github.io/yoga/docs/getting-started/'
spec.source = { :git => 'https://github.com/facebook/yoga.git', :tag => "v#{spec.version}" }
spec.platform = :ios
alloy (Migrated from github.com) commented 2017-01-26 06:33:06 -08:00

Gotcha.

So then I guess my assumption that this podspec was somehow also tied to React Native’s podspec using this is incorrect. /cc @javache

Gotcha. So then I guess my assumption that this podspec was somehow also tied to React Native’s podspec using this is incorrect. /cc @javache
guidomb commented 2017-01-26 06:39:36 -08:00 (Migrated from github.com)

@hartbit @dshahidehpour I am migrating my current project to use the latest version of Yoga and using Carthage with the goal of testing this PR. So far the built generated by Carthage works. Had no issues with header files.

This change forced me to migrate to the new API that @hartbit introduced in #322. Just wanted to say, awesome work! The API feels way more natural in Swift now. One thing I noticed is that both border and position don't support the horizontal and vertical edge cases. Is this correct?

@hartbit @dshahidehpour I am migrating my current project to use the latest version of Yoga and using Carthage with the goal of testing this PR. So far the built generated by Carthage works. Had no issues with header files. This change forced me to migrate to the new API that @hartbit introduced in #322. Just wanted to say, awesome work! The API feels way more natural in Swift now. One thing I noticed is that both `border` and `position` don't support the `horizontal` and `vertical` edge cases. Is this correct?
guidomb commented 2017-01-26 06:41:20 -08:00 (Migrated from github.com)

@dshahidehpour @alloy How should I proceed with CocoaPods support? Should I add the changes you have suggested to this PR?

@dshahidehpour @alloy How should I proceed with CocoaPods support? Should I add the changes you have suggested to this PR?
alloy commented 2017-01-26 07:02:54 -08:00 (Migrated from github.com)

Is your project OSS and/or do you know of one in which this podspec is expected to work for me to test?

Is your project OSS and/or do you know of one in which this podspec is expected to work for me to test?
alloy commented 2017-01-26 07:03:26 -08:00 (Migrated from github.com)

…or can you create a simple Hello World app for Yoga for me to test with?

…or can you create a simple Hello World app for Yoga for me to test with?
guidomb commented 2017-01-26 07:08:40 -08:00 (Migrated from github.com)

@alloy My project is not open source (yet). I want to open source it but I need to do some work first in order for it to be ready to be published. I don't see that happening any time soon, at least not in the next few day. But I could extract some code from it in order to test CocoaPods integration. I'll try to do that later this day o tomorrow.

@alloy My project is not open source (yet). I want to open source it but I need to do some work first in order for it to be ready to be published. I don't see that happening any time soon, at least not in the next few day. But I could extract some code from it in order to test CocoaPods integration. I'll try to do that later this day o tomorrow.
alloy commented 2017-01-26 07:09:58 -08:00 (Migrated from github.com)

@guidomb Yeah just something simple is good enough. I could do it myself, but as I haven’t used the API in anger I might make it too simple.

@guidomb Yeah just something simple is good enough. I could do it myself, but as I haven’t used the API in anger I might make it _too_ simple.
guidomb commented 2017-01-26 07:13:42 -08:00 (Migrated from github.com)

@alloy OK I'll do that then. I'll try to do that by the end of my day (GMT -03:00) or tomorrow.

@alloy OK I'll do that then. I'll try to do that by the end of my day (GMT -03:00) or tomorrow.
d16r commented 2017-01-26 10:06:31 -08:00 (Migrated from github.com)

Update!

TL:DR; I'm making a Cocoapod specifically for the C-Lib. Once that lands (in a few hours) we can simply add that pod as a dependency to YogaKit's podspec and keep the imports as <yoga/*>.

The reason we are doing this is that we don't want to change the imports of core yoga files to YogaKit. Currently, that's not really possible by adding them all to the same podspec without building a static library (pod lib lint --use-libraries). The problem with a static library is that it won't play nice with Swift Projects (source: @nlutsenko).

I was surprised to learn this because the React Native library uses yoga as well, and they have yoga defined as a subspec. What I learned is that you can only build the React Native pod as a static lib, so, I don't think it works with Swift (need to confirm).

Update! TL:DR; I'm making a Cocoapod specifically for the C-Lib. Once that lands (in a few hours) we can simply add that pod as a dependency to YogaKit's podspec *and* keep the imports as <yoga/*>. The reason we are doing this is that we don't want to change the imports of core yoga files to YogaKit. Currently, that's not really possible by adding them all to the same podspec without building a static library (`pod lib lint --use-libraries`). The problem with a static library is that it won't play nice with Swift Projects (source: @nlutsenko). I was surprised to learn this because the React Native library uses [yoga as well](https://github.com/facebook/react-native/blob/master/React.podspec#L58), and they have yoga defined as a subspec. What I learned is that you can only build the React Native pod as a static lib, so, I don't think it works with Swift (need to confirm).
guidomb commented 2017-01-26 10:27:36 -08:00 (Migrated from github.com)

@dshahidehpour OK let me know once that is landed into master. AFAIK it should be a problem for Swift users because we can make YogaKit podspec to create a framework. The static lib should only be for the C code. I am assuming that framework can contain a static lib. Not really sure if my assumption is correct.

@dshahidehpour OK let me know once that is landed into `master`. AFAIK it should be a problem for Swift users because we can make YogaKit podspec to create a framework. The static lib should only be for the C code. I am assuming that framework can contain a static lib. Not really sure if my assumption is correct.
guidomb commented 2017-01-26 10:29:29 -08:00 (Migrated from github.com)

This blog post seems to explain how to use static libs inside frameworks.

[This](http://blog.bjhomer.com/2015/05/defining-modules-for-custom-libraries.html) blog post seems to explain how to use static libs inside frameworks.
d16r commented 2017-01-26 10:35:36 -08:00 (Migrated from github.com)

@guidomb The C-lib podspec is landing now. When we push it, do you think that we should push it as a static lib? I'd be fine with pushing it as a regular framework.

@guidomb The C-lib podspec is landing now. When we push it, do you think that we should push it as a static lib? I'd be fine with pushing it as a regular framework.
guidomb commented 2017-01-26 10:41:17 -08:00 (Migrated from github.com)

@dshahidehpour Not really sure. I think it would be better to use frameworks because I know that should work we both Swift and Objective-C users. What do you think @alloy ?

@dshahidehpour Not really sure. I think it would be better to use frameworks because I know that should work we both Swift and Objective-C users. What do you think @alloy ?
alloy commented 2017-01-26 12:50:45 -08:00 (Migrated from github.com)

TL:DR; I'm making a Cocoapod specifically for the C-Lib. Once that lands (in a few hours) we can simply add that pod as a dependency to YogaKit's podspec and keep the imports as <yoga/*>.

Not entirely sure that should be necessary, but it might make things simpler 👍

The reason we are doing this is that we don't want to change the imports of core yoga files to YogaKit. Currently, that's not really possible by adding them all to the same podspec without building a static library (pod lib lint --use-libraries).

Is this within another project? Because I’m definitely able to pod lib lint both frameworks and static libs with my patches applied.

The problem with a static library is that it won't play nice with Swift Projects (source: @nlutsenko).

Yeah, specifically you can’t build Swift pods as static libs, and with CocoaPods you do either frameworks or static libs.

I was surprised to learn this because the React Native library uses yoga as well, and they have yoga defined as a subspec. What I learned is that you can only build the React Native pod as a static lib, so, I don't think it works with Swift (need to confirm).

Why can it only build as a static lib? It should. Is it because of this issue? (I’m still getting up to speed after a hiatus.)

> TL:DR; I'm making a Cocoapod specifically for the C-Lib. Once that lands (in a few hours) we can simply add that pod as a dependency to YogaKit's podspec and keep the imports as `<yoga/*>`. Not entirely sure that should be necessary, but it might make things simpler 👍 > The reason we are doing this is that we don't want to change the imports of core yoga files to YogaKit. Currently, that's not really possible by adding them all to the same podspec without building a static library (`pod lib lint --use-libraries`). Is this within another project? Because I’m definitely able to `pod lib lint` both frameworks and static libs with my patches applied. > The problem with a static library is that it won't play nice with Swift Projects (source: @nlutsenko). Yeah, specifically you can’t build Swift pods as static libs, and with CocoaPods you do _either_ frameworks _or_ static libs. > I was surprised to learn this because the React Native library uses yoga as well, and they have yoga defined as a subspec. What I learned is that you can only build the React Native pod as a static lib, so, I don't think it works with Swift (need to confirm). Why can it only build as a static lib? It _should_. Is it because of [this issue](https://github.com/facebook/react-native/issues/11781#issuecomment-275409731)? (I’m still getting up to speed after a hiatus.)
alloy commented 2017-01-26 12:52:08 -08:00 (Migrated from github.com)

The C-lib podspec is landing now. When we push it, do you think that we should push it as a static lib? I'd be fine with pushing it as a regular framework.

Not really sure. I think it would be better to use frameworks because I know that should work we both Swift and Objective-C users.

With CocoaPods you don’t make that choice as a pod author, but rather as a consumer of the pods. The default is static libraries, but if you specify use_frameworks! in your Podfile it will build frameworks instead.

> The C-lib podspec is landing now. When we push it, do you think that we should push it as a static lib? I'd be fine with pushing it as a regular framework. > > Not really sure. I think it would be better to use frameworks because I know that should work we both Swift and Objective-C users. With CocoaPods you don’t make that choice as a pod author, but rather as a consumer of the pods. The default is static libraries, but if you specify `use_frameworks!` in your Podfile it will build frameworks instead.
d16r commented 2017-01-26 13:10:23 -08:00 (Migrated from github.com)

Why can it only build as a static lib? It should. Is it because of this issue? (I’m still getting up to speed after a hiatus.)

Yeahp. If you run pod lib lint React.podspec you get the same yoga import errors that we are seeing in this diff. The errors go away when you run pod lib lint React.podspec --use-libraries.

The Yoga.podspec has landed :) Lets use it as a dependency in YogaKit's podspec. I had to run pod repo update locally to see it.

P.S. Thank you @alloy for all your feedback and help!! We really appreciate it :)

> Why can it only build as a static lib? It should. Is it because of this issue? (I’m still getting up to speed after a hiatus.) Yeahp. If you run `pod lib lint React.podspec` you get the same yoga import errors that we are seeing in this diff. The errors go away when you run `pod lib lint React.podspec --use-libraries`. The Yoga.podspec has landed :) Lets use it as a dependency in `YogaKit`'s podspec. I had to run `pod repo update` locally to see it. P.S. Thank you @alloy for all your feedback and help!! We really appreciate it :)
alloy commented 2017-01-26 13:30:01 -08:00 (Migrated from github.com)

Ok, dope. I’ll take a look linting RN’s podspec 👍 I’ll also start using Yoga’s now landed official podspec to pull Yoga into RN instead of a vendored version.

You are most welcome! I kinda feel bad for being gone for a while, I should now be back more consistently to keep RN in shape on CocoaPods.

Ok, dope. I’ll take a look linting RN’s podspec 👍 I’ll also start using Yoga’s now landed official podspec to pull Yoga into RN instead of a vendored version. You are most welcome! I kinda feel bad for being gone for a while, I should now be back more consistently to keep RN in shape on CocoaPods.
guidomb commented 2017-01-26 14:51:07 -08:00 (Migrated from github.com)

I've rebased with master and added Yoga as a dependency of YogaKit. pod lib lint passes if the --allow-warnings flag is given. I am getting the following warning

 -> Yoga (1.0.0)
    - WARN  | source: The version should be included in the Git tag.

Because the git tag hasn't been created yet.

I still need to fully test this in a project. Later today I will publish the project where I am using Yoga and I'll create a brach to include YogaKit using CocoaPods to make sure that everything is working.

@dshahidehpour remember that once this PR is landed, every time you want to cut a new release you are going to have to publish both Yoga and YogaKit pods to the trunk repository.

I've rebased with `master` and added `Yoga` as a dependency of `YogaKit`. `pod lib lint` passes if the `--allow-warnings` flag is given. I am getting the following warning ``` -> Yoga (1.0.0) - WARN | source: The version should be included in the Git tag. ``` Because the git tag hasn't been created yet. I still need to fully test this in a project. Later today I will publish the project where I am using Yoga and I'll create a brach to include YogaKit using CocoaPods to make sure that everything is working. @dshahidehpour remember that once this PR is landed, every time you want to cut a new release you are going to have to publish both Yoga and YogaKit pods to the trunk repository.
guidomb commented 2017-01-26 14:52:06 -08:00 (Migrated from github.com)

Also @dshahidehpour did you have a chance to take a look at my comment in https://github.com/facebook/yoga/pull/352#issuecomment-275403780

One thing I noticed is that both border and position don't support the horizontal and vertical edge cases. Is this correct?

Also @dshahidehpour did you have a chance to take a look at my comment in https://github.com/facebook/yoga/pull/352#issuecomment-275403780 > One thing I noticed is that both border and position don't support the horizontal and vertical edge cases. Is this correct?
hartbit commented 2017-01-26 15:26:20 -08:00 (Migrated from github.com)

One thing I noticed is that both border and position don't support the horizontal and vertical edge cases. Is this correct?

That is my doing. I based myself off the React Native properties (https://facebook.github.io/react-native/docs/layout-props.html). I think they don't exist for ambiguity reasons. The horizontal margin makes sense, but the horizontal position seems less clear.

> One thing I noticed is that both border and position don't support the horizontal and vertical edge cases. Is this correct? That is my doing. I based myself off the React Native properties (https://facebook.github.io/react-native/docs/layout-props.html). I think they don't exist for ambiguity reasons. The *horizontal margin* makes sense, but the *horizontal position* seems less clear.
d16r commented 2017-01-26 15:27:50 -08:00 (Migrated from github.com)

I've rebased with master and added Yoga as a dependency of YogaKit. pod lib lint passes if the --allow-warnings flag is given. I am getting the following warning

Yeah I was getting the same warning. I had to use --allow-warnings to create the Yoga pod. We should talk to @emilsjolander about changing the release tags. Go ahead and use the --allow-warnings flag to create your pod.

> I've rebased with master and added Yoga as a dependency of YogaKit. pod lib lint passes if the --allow-warnings flag is given. I am getting the following warning Yeah I was getting the same warning. I had to use `--allow-warnings` to create the Yoga pod. We should talk to @emilsjolander about changing the release tags. Go ahead and use the `--allow-warnings` flag to create your pod.
emilsjolander commented 2017-01-26 15:33:46 -08:00 (Migrated from github.com)

It's a weird thing to warn about, seems non-important. I'll think about it for the next time. For now let's just ignore the warning. I'll push YogaKit to cocoapods once this has been merged.

It's a weird thing to warn about, seems non-important. I'll think about it for the next time. For now let's just ignore the warning. I'll push YogaKit to cocoapods once this has been merged.
d16r commented 2017-01-26 15:36:29 -08:00 (Migrated from github.com)

Awesome work @guidomb! I'm going to import this, fixup a couple things (update spec description) and merge it! We can continue to iterate after it lands. Thank you so much!

Awesome work @guidomb! I'm going to import this, fixup a couple things (update spec description) and merge it! We can continue to iterate after it lands. Thank you so much!
facebook-github-bot commented 2017-01-26 15:37:02 -08:00 (Migrated from github.com)

@dshahidehpour has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

@dshahidehpour has imported this pull request. If you are a Facebook employee, you can view this diff [on Phabricator](https://phabricator.intern.facebook.com/D4471950).
alloy commented 2017-01-26 15:56:22 -08:00 (Migrated from github.com)

@emilsjolander People would push specs and forget to push their git tags. The warning is correct in that the build would fail in that case.

@emilsjolander People would push specs and forget to push their git tags. The warning is correct in that the build would fail in that case.
emilsjolander commented 2017-01-26 15:59:15 -08:00 (Migrated from github.com)

@alloy Ok good to know the reason behind it. We continuously tag the project so not a problem i foresee us having. Can I remove this lint from the project without disabling all the other helpful warnings?

@alloy Ok good to know the reason behind it. We continuously tag the project so not a problem i foresee us having. Can I remove this lint from the project without disabling all the other helpful warnings?
alloy commented 2017-01-26 16:02:18 -08:00 (Migrated from github.com)

Hmmm, don't think so, but I'll double check when I'm back at a machine. Nonetheless, this should just pass if you push the tag before the spec during your release process.

Hmmm, don't think so, but I'll double check when I'm back at a machine. Nonetheless, this should just pass if you push the tag before the spec during your release process.
alloy commented 2017-01-26 16:03:09 -08:00 (Migrated from github.com)

Btw, just wanna be sure that you are indeed switching to a different versioning scheme: 2cc2a5f2ff (commitcomment-20632914)

Btw, just wanna be sure that you are indeed switching to a different versioning scheme: https://github.com/facebook/yoga/commit/2cc2a5f2ff11765823e2d1c1a2814e8b28e0c191#commitcomment-20632914
emilsjolander commented 2017-01-26 16:11:22 -08:00 (Migrated from github.com)

@alloy The version number of the project does not match the tag used. See the release for 1.0.0 here https://github.com/facebook/yoga/releases/tag/v2017.01.23.00

@alloy The version number of the project does not match the tag used. See the release for `1.0.0` here https://github.com/facebook/yoga/releases/tag/v2017.01.23.00
alloy commented 2017-01-26 16:21:56 -08:00 (Migrated from github.com)

Ok 👌

Ok 👌
alloy commented 2017-01-26 17:20:55 -08:00 (Migrated from github.com)
 -> Yoga (1.0.0)
   - WARN  | source: The version should be included in the Git tag.

Because the git tag hasn't been created yet.

Oops, I didn't read that well.

This warning is not about the tag not having been created yet, but rather that the tag’s name does not include the version (in this case 1.0.0), which does seem something you want to be able to do.

There’s no way to currently disable just that warning. If this remains an issue with future tags, I suggest you file a new issue about it.

> ``` > -> Yoga (1.0.0) > - WARN | source: The version should be included in the Git tag. > ``` > > Because the git tag hasn't been created yet. Oops, I didn't read that well. This warning is not about the tag not having been created yet, but rather that the tag’s name does not include the version (in this case `1.0.0`), which does seem something you want to be able to do. There’s no way to currently disable just that warning. If this remains an issue with future tags, I suggest you file a [new issue](https://github.com/CocoaPods/CocoaPods/issues/new) about it.
guidomb commented 2017-01-26 19:35:59 -08:00 (Migrated from github.com)

I think that the tag name should follow semantic versioning. Otherwise CocoaPods won't be able to checkout the corresponding revision after resolving the version that should be used after running pod install. Not 100% sure though.

I think that the tag name should follow semantic versioning. Otherwise CocoaPods won't be able to checkout the corresponding revision after resolving the version that should be used after running `pod install`. Not 100% sure though.
alloy commented 2017-01-26 19:40:13 -08:00 (Migrated from github.com)

No there’s no such requirement. It’s just common and allows you to not have to type out two different versions in the same file, but instead refer to the pod version for the tag’s name. Why do you think it might be required?

No there’s no such requirement. It’s just common and allows you to not have to type out [two](https://github.com/facebook/yoga/commit/2cc2a5f2ff11765823e2d1c1a2814e8b28e0c191#diff-c4d7c74d495e4cca1bad4287f60fd017R3) [different](https://github.com/facebook/yoga/commit/2cc2a5f2ff11765823e2d1c1a2814e8b28e0c191#diff-c4d7c74d495e4cca1bad4287f60fd017R14) versions in the same file, but instead refer to the pod version for the tag’s name. Why do you think it might be required?
d16r commented 2017-01-26 20:24:25 -08:00 (Migrated from github.com)

@guidomb just a quick heads-up. I'm going to trim this diff so it only contains the Cocoapods support.

Our internal build system is giving us some grief about the changes made for the Carthage support, so, I want to attack that stuff in another diff. Me or @emilsjolander need to create the .xcodeproj and add Facebook as the Organization. We also to need to some work on the .plist files so they work externally, and internally at FB.

@guidomb just a quick heads-up. I'm going to trim this diff so it only contains the Cocoapods support. Our internal build system is giving us some grief about the changes made for the Carthage support, so, I want to attack that stuff in another diff. Me or @emilsjolander need to create the `.xcodeproj` and add Facebook as the Organization. We also to need to some work on the .plist files so they work externally, and internally at FB.
alloy commented 2017-01-26 20:27:54 -08:00 (Migrated from github.com)

@dshahidehpour Btw, want me to send you a PR to run pod lib lint on Travis CI?

@dshahidehpour Btw, want me to send you a PR to run `pod lib lint` on Travis CI?
d16r commented 2017-01-26 20:30:19 -08:00 (Migrated from github.com)

@alloy Yes plz! Just an FYI, because of our branch tag, we will have to add --allow-warnings to make it pass.

@alloy Yes plz! Just an FYI, because of our branch tag, we will have to add `--allow-warnings` to make it pass.
alloy commented 2017-01-26 21:53:51 -08:00 (Migrated from github.com)

@dshahidehpour Aye, indeed.

For now, just want to let you know that I’m successfully able to use the core pod in React Native https://github.com/facebook/react-native/pull/12089

@dshahidehpour Aye, indeed. For now, just want to let you know that I’m successfully able to use the core pod in React Native https://github.com/facebook/react-native/pull/12089
guidomb commented 2017-01-27 04:57:31 -08:00 (Migrated from github.com)

@dshahidehpour OK. Let me know if you need any help preparing the project to be Carthage friendly. Do you have an ETA for that?

@alloy I had the impression that tag name must matched pod version but I wasn't really sure. Had the memory of not being able to publish a pod for this reason but it's been a long time since the last time I published a pod.

@dshahidehpour OK. Let me know if you need any help preparing the project to be Carthage friendly. Do you have an ETA for that? @alloy I had the impression that tag name must matched pod version but I wasn't really sure. Had the memory of not being able to publish a pod for this reason but it's been a long time since the last time I published a pod.
d16r commented 2017-01-27 11:39:23 -08:00 (Migrated from github.com)

@alloy @guidomb Cocoapods support has landed, so I'm going to keep this thread closed. We can talk about Carthage support in #361, or in a new pull request. Thanks!

@alloy @guidomb Cocoapods support has landed, so I'm going to keep this thread closed. We can talk about Carthage support in #361, or in a new pull request. Thanks!
quentinfasquel commented 2017-02-02 02:55:05 -08:00 (Migrated from github.com)

@dshahidehpour When you say Cocoapods support has landed, any idea if this issue has been solved: https://github.com/facebook/react-native/issues/11781 ? Thank you.

@dshahidehpour When you say Cocoapods support has landed, any idea if this issue has been solved: https://github.com/facebook/react-native/issues/11781 ? Thank you.
alloy commented 2017-02-02 03:11:11 -08:00 (Migrated from github.com)
@quentinfasquel No, see https://github.com/facebook/react-native/pull/12089
quentinfasquel commented 2017-02-02 03:26:43 -08:00 (Migrated from github.com)

Thanks @alloy for your quick reply. So that means I should wait?
I found that just adding the 'Core' subspec doesn't trigger the yoga/Yoga.h issue but when I import React will encounter an issue with the C++ lib that's used: 'cstdint' file not found in JSBundleType.h

Thanks @alloy for your quick reply. So that means I should wait? I found that just adding the 'Core' subspec doesn't trigger the yoga/Yoga.h issue but when I `import React` will encounter an issue with the C++ lib that's used: `'cstdint' file not found` in JSBundleType.h

Pull request closed

Sign in to join this conversation.
No description provided.