Eureka: Xcode 9 GM | Build Fail

Created on 14 Sep 2017  路  9Comments  路  Source: xmartlabs/Eureka

*/Pods/Eureka/Source/Core/Section.swift:202:1: Type 'Section' does not conform to protocol 'BidirectionalCollection'

*/Pods/Eureka/Source/Core/Section.swift:202:1: 'Collection' requires the types 'Section.SubSequence' (aka 'Array') and 'ArraySlice' be equivalent

*/Pods/Eureka/Source/Core/Section.swift:247:1: Type 'Section' does not conform to protocol 'RangeReplaceableCollection'

Most helpful comment

Below worked for me as described here 1220
After take some time to research, here's the fix:

1- Update podfile using master branch pod 'Eureka', :git => 'https://github.com/xmartlabs/Eureka.git'
2- Add this to the end of podfile to set Eureka using Swift 4 (In case your project not support Swift 4 yet)

post_install do |installer|
    installer.pods_project.targets.each do |target|

        if  target.name == 'Eureka'
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '4.0'
            end
        end
    end
end

3- Run pod install
4- Clear project and Rebuild

All 9 comments

Until the changes are merged into master and a new release is published you can point your Podfile to use the feature branch feature/Xcode9-Swift3_2 to fix Xcode 9 compilation issues with Swift 3.2.

The Swift3_2 branch is also failing compilation for me, with the error:

Pods/Eureka/Source/Core/Section.swift:56:29: 'dynamic' var '_rows' must also be '@objc'

This happens even when I have "Swift 3 @objc Inference" set to "ON".

Yes, I don't think there is a way to make it work today in Xcode 9, regardless of the branch you pull in, 3.2 or 4.0

Duplicate Issue of #1220

Guys, is there a remedy to this ? its high time..

Xcode 9, using branch "feature/Xcode9-Swift3_2" still getting issue as follows
'dynamic' var '_rows' must also be '@objc'

Below worked for me as described here 1220
After take some time to research, here's the fix:

1- Update podfile using master branch pod 'Eureka', :git => 'https://github.com/xmartlabs/Eureka.git'
2- Add this to the end of podfile to set Eureka using Swift 4 (In case your project not support Swift 4 yet)

post_install do |installer|
    installer.pods_project.targets.each do |target|

        if  target.name == 'Eureka'
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '4.0'
            end
        end
    end
end

3- Run pod install
4- Clear project and Rebuild

@AmmarMujeeb your helper post_install didn't make it in the comment block.~

I have faced this issue in Section.swift file
error :
1>> Type 'Section' does not conform to protocol 'BidirectionalCollection'
2>>'Collection' requires the types 'Section.SubSequence' (aka 'Array<BaseRow>') and 'ArraySlice<BaseRow>' be equivalent

Was this page helpful?
0 / 5 - 0 ratings

Related issues

s1rc picture s1rc  路  3Comments

Tomas1405 picture Tomas1405  路  3Comments

abbasmousavi picture abbasmousavi  路  3Comments

calli23 picture calli23  路  3Comments

pteasima picture pteasima  路  3Comments