Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cocoapods support #1

Closed
prajapatirukesh opened this issue Dec 5, 2017 · 8 comments
Closed

Cocoapods support #1

prajapatirukesh opened this issue Dec 5, 2017 · 8 comments

Comments

@prajapatirukesh
Copy link

prajapatirukesh commented Dec 5, 2017

I have all the requirements as mentioned but still i cannot use SplitRow in my project.

@marbetschar
Copy link
Collaborator

There is no Cocoapod yet. Unfortunately I‘m not familiar with the Pod creation process.

Feel free to submit a pull request I‘ll happily apply it.

@marbetschar
Copy link
Collaborator

PS: please ne aware that this Row is based upon a Eureka fork till this pull request is merged:

xmartlabs/Eureka#1338

@marbetschar marbetschar changed the title Is there a pod file for SplitRow. I cannot implement this library Cocoapods support Dec 5, 2017
@kamerc
Copy link
Collaborator

kamerc commented Mar 15, 2018

Thanks for sharing your code with the community, this is exactly what I am looking for. I need it to be on CocoaPods though. I am willing to work on the code to put this in CocoaPods & submit a pull request if it's still something that needs to be done.

@marbetschar
Copy link
Collaborator

@kamerc your welcome! Cocoapods support is still missing, I'll happily merge a pull request. So feel free to give it a shot! 👍

@kamerc
Copy link
Collaborator

kamerc commented Mar 15, 2018

ok, I'm working on it

@kamerc
Copy link
Collaborator

kamerc commented Mar 16, 2018

I have been doing some research and am currently stuck on next steps. Anyone in the EurekaCommunity @github/EurekaCommunity familiar with this process? Most of the instructions I have found have been how to create a new CocoaPod project from scratch. In this case, an XCode project already exists and that project is not already using CocoaPods to depend on Eureka (so there is no xcodeworkspace, etc.). I started to go down the path of converting the project to use CocoaPods and then determined that step was unnecessary. For example TokenRow isn't doing this and it is available as a CocoaPod. So I eventually found this helpful stackoverflow post so I decided to go back to the original project and just add this spec file. However, I am not able to get past this command $ pod spec lint SplitRow.podspec due to a bunch of Eureka Errors that I am pasting below.


 -> SplitRow (1.0.0)
    - WARN  | [iOS] swift: The validator used Swift 3.2 by default because no Swift version was specified. To specify a Swift version during validation, add the `swift_version` attribute in your podspec. Note that usage of the `--swift-version` parameter or a `.swift-version` file is now deprecated.
    - ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
    - ERROR | [iOS] xcodebuild:  Eureka/Source/Rows/Common/FieldRow.swift:230:104: error: type 'NSAttributedStringKey' (aka 'NSString') has no member 'foregroundColor'
    - ERROR | [iOS] xcodebuild:  Eureka/Source/Rows/Common/FieldRow.swift:356:47: error: argument labels '(rawValue:)' do not match any available overloads
    - NOTE  | [iOS] xcodebuild:  Eureka/Source/Rows/Common/FieldRow.swift:356:47: note: overloads for 'UILayoutPriority' exist with these partially matching parameter lists: (_bits: FPIEEE32), (string: String), (from: Decoder), (S), (bitPattern: UInt32), (floatLiteral: Float), (_builtinIntegerLiteral: Int2048), (integerLiteral: Int64), (_builtinFloatLiteral: FPIEEE80), (exactly: T), (UInt8), (exactly: UInt8), (Int8), (exactly: Int8), (UInt16), (exactly: UInt16), (Int16), (exactly: Int16), (UInt32), (exactly: UInt32), (Int32), (exactly: Int32), (UInt64), (exactly: UInt64), (Int64), (exactly: Int64), (UInt), (exactly: UInt), (Int), (exactly: Int), (Float), (exactly: Float), (Double), (exactly: Double), (Float80), (exactly: Float80), (CGFloat), (NSNumber), (truncating: NSNumber), (exactly: NSNumber)
    - ERROR | [iOS] xcodebuild:  Eureka/Source/Rows/Common/FieldRow.swift:357:61: error: argument labels '(rawValue:)' do not match any available overloads
    - NOTE  | [iOS] xcodebuild:  Eureka/Source/Rows/Common/FieldRow.swift:357:61: note: overloads for 'UILayoutPriority' exist with these partially matching parameter lists: (_bits: FPIEEE32), (string: String), (from: Decoder), (S), (bitPattern: UInt32), (floatLiteral: Float), (_builtinIntegerLiteral: Int2048), (integerLiteral: Int64), (_builtinFloatLiteral: FPIEEE80), (exactly: T), (UInt8), (exactly: UInt8), (Int8), (exactly: Int8), (UInt16), (exactly: UInt16), (Int16), (exactly: Int16), (UInt32), (exactly: UInt32), (Int32), (exactly: Int32), (UInt64), (exactly: UInt64), (Int64), (exactly: Int64), (UInt), (exactly: UInt), (Int), (exactly: Int), (Float), (exactly: Float), (Double), (exactly: Double), (Float80), (exactly: Float80), (CGFloat), (NSNumber), (truncating: NSNumber), (exactly: NSNumber)
    - WARN  | [iOS] xcodebuild:  Eureka/Source/Rows/Common/GenericMultipleSelectorRow.swift:79:45: warning: cast from 'UIViewController' to unrelated type 'MultipleSelectorViewController<GenericMultipleSelectorRow<T, Cell>>' always fails
    - ERROR | [iOS] xcodebuild:  Eureka/Source/Rows/SegmentedRow.swift:43:52: error: argument labels '(rawValue:)' do not match any available overloads
    - NOTE  | [iOS] xcodebuild:  Eureka/Source/Rows/SegmentedRow.swift:43:52: note: overloads for 'UILayoutPriority' exist with these partially matching parameter lists: (_bits: FPIEEE32), (string: String), (from: Decoder), (S), (bitPattern: UInt32), (floatLiteral: Float), (_builtinIntegerLiteral: Int2048), (integerLiteral: Int64), (_builtinFloatLiteral: FPIEEE80), (exactly: T), (UInt8), (exactly: UInt8), (Int8), (exactly: Int8), (UInt16), (exactly: UInt16), (Int16), (exactly: Int16), (UInt32), (exactly: UInt32), (Int32), (exactly: Int32), (UInt64), (exactly: UInt64), (Int64), (exactly: Int64), (UInt), (exactly: UInt), (Int), (exactly: Int), (Float), (exactly: Float), (Double), (exactly: Double), (Float80), (exactly: Float80), (CGFloat), (NSNumber), (truncating: NSNumber), (exactly: NSNumber)
    - ERROR | [iOS] xcodebuild:  Eureka/Source/Rows/SegmentedRow.swift:48:52: error: argument labels '(rawValue:)' do not match any available overloads
    - NOTE  | [iOS] xcodebuild:  Eureka/Source/Rows/SegmentedRow.swift:48:52: note: overloads for 'UILayoutPriority' exist with these partially matching parameter lists: (_bits: FPIEEE32), (string: String), (from: Decoder), (S), (bitPattern: UInt32), (floatLiteral: Float), (_builtinIntegerLiteral: Int2048), (integerLiteral: Int64), (_builtinFloatLiteral: FPIEEE80), (exactly: T), (UInt8), (exactly: UInt8), (Int8), (exactly: Int8), (UInt16), (exactly: UInt16), (Int16), (exactly: Int16), (UInt32), (exactly: UInt32), (Int32), (exactly: Int32), (UInt64), (exactly: UInt64), (Int64), (exactly: Int64), (UInt), (exactly: UInt), (Int), (exactly: Int), (Float), (exactly: Float), (Double), (exactly: Double), (Float80), (exactly: Float80), (CGFloat), (NSNumber), (truncating: NSNumber), (exactly: NSNumber)
    - WARN  | [iOS] xcodebuild:  Eureka/Source/Rows/Controllers/SelectorAlertController.swift:50:20: warning: cast from 'RowOf<AlertOptionsRow.Cell.Value>!' to unrelated type 'AlertOptionsRow' always fails
    - WARN  | [iOS] xcodebuild:  Eureka/Source/Rows/Common/SelectorRow.swift:82:45: warning: cast from 'UIViewController' to unrelated type 'SelectorViewController<SelectorRow<Cell>>' always fails
    - WARN  | [iOS] xcodebuild:  Eureka/Source/Rows/Controllers/SelectorViewController.swift:201:47: warning: cast from 'Section' to unrelated type 'SelectableSection<Row>' always fails
    - ERROR | [iOS] xcodebuild:  Eureka/Source/Rows/SliderRow.swift:66:50: error: argument labels '(rawValue:)' do not match any available overloads
    - NOTE  | [iOS] xcodebuild:  Eureka/Source/Rows/SliderRow.swift:66:50: note: overloads for 'UILayoutPriority' exist with these partially matching parameter lists: (_bits: FPIEEE32), (string: String), (from: Decoder), (S), (bitPattern: UInt32), (floatLiteral: Float), (_builtinIntegerLiteral: Int2048), (integerLiteral: Int64), (_builtinFloatLiteral: FPIEEE80), (exactly: T), (UInt8), (exactly: UInt8), (Int8), (exactly: Int8), (UInt16), (exactly: UInt16), (Int16), (exactly: Int16), (UInt32), (exactly: UInt32), (Int32), (exactly: Int32), (UInt64), (exactly: UInt64), (Int64), (exactly: Int64), (UInt), (exactly: UInt), (Int), (exactly: Int), (Float), (exactly: Float), (Double), (exactly: Double), (Float80), (exactly: Float80), (CGFloat), (NSNumber), (truncating: NSNumber), (exactly: NSNumber)
    - ERROR | [iOS] xcodebuild:  Eureka/Source/Rows/SliderRow.swift:78:46: error: argument labels '(rawValue:)' do not match any available overloads
    - NOTE  | [iOS] xcodebuild:  Eureka/Source/Rows/SliderRow.swift:78:46: note: overloads for 'UILayoutPriority' exist with these partially matching parameter lists: (_bits: FPIEEE32), (string: String), (from: Decoder), (S), (bitPattern: UInt32), (floatLiteral: Float), (_builtinIntegerLiteral: Int2048), (integerLiteral: Int64), (_builtinFloatLiteral: FPIEEE80), (exactly: T), (UInt8), (exactly: UInt8), (Int8), (exactly: Int8), (UInt16), (exactly: UInt16), (Int16), (exactly: Int16), (UInt32), (exactly: UInt32), (Int32), (exactly: Int32), (UInt64), (exactly: UInt64), (Int64), (exactly: Int64), (UInt), (exactly: UInt), (Int), (exactly: Int), (Float), (exactly: Float), (Double), (exactly: Double), (Float80), (exactly: Float80), (CGFloat), (NSNumber), (truncating: NSNumber), (exactly: NSNumber)
    - ERROR | [iOS] xcodebuild:  Eureka/Source/Rows/SliderRow.swift:111:61: error: type 'UILayoutPriority' (aka 'Float') has no member 'defaultHigh'
    - ERROR | [iOS] xcodebuild:  Eureka/Source/Rows/SliderRow.swift:112:61: error: type 'UILayoutPriority' (aka 'Float') has no member 'defaultHigh'

Analyzed 1 podspec.

[!] The spec did not pass validation, due to 10 errors and 5 warnings.

Here is the PodSpec:

Pod::Spec.new do |s|
  s.name         = "SplitRow"
  s.version      = "1.0.0"
  s.summary      = "A row for Eureka to put two rows side by side into the same UITableViewCell."
  s.homepage     = "https://github.com/EurekaCommunity/SplitRow"
  s.license      = { :type => "MIT", :file => "LICENSE" }
  s.author       = "Marco Betschart"
  s.social_media_url   = "https://twitter.com/EurekaCommunity"
  s.platform     = :ios, "9.0"
  s.source       = { :git => "https://github.com/EurekaCommunity/SplitRow.git", :tag => "#{s.version}" }
  s.source_files  = "SplitRow/**/*.{swift}"
  s.frameworks = "UIKit", "Foundation"
  s.requires_arc = true
  s.dependency "Eureka", "~> 4.0"
end

Hopefully someone more familiar with the Pod process will have a suggestion. @mtnbarreto

@kamerc
Copy link
Collaborator

kamerc commented Mar 16, 2018

I finally figured out a solution, pull request has been submitted.

@marbetschar
Copy link
Collaborator

just merged the pull request and created a new tag 1.1.0. SplitRow now officially supports Cocoapods 🎉 🎉 🎉

Thank you so much for your contribution @kamerc !!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants