thoughtbot/Argo

error: no such module 'Runes'

rajeevprasanna opened this issue · 7 comments

I am actually using runes in ios hybrid project with both objective c and swift code. i have added runes as dependency using github submodule and linked binaries. Now app is throwing below error:

Argo/Sources/Argo/Types/Decoded/Applicative.swift:1:8: error: no such module 'Runes'

** BUILD FAILED **

The following build commands failed:
	CompileSwift normal armv7
	CompileSwiftSources normal armv7 com.apple.xcode.tools.swift.compiler
	CompileSwift normal arm64
	CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler
(4 failures)

i took latest code update of both argo and runes.

The fact that this is a hybrid project shouldn't matter. That error looks like you aren't linking Runes properly. How are you including the projects for Argo and Runes into your project? Are you using sub-projects? A workspace?

FWIW, I'd highly recommend using a dependency manager for this stuff. We'd highly discourage pulling code from master like this and would prefer it if people used the versioned releases.

i added argo and runes in below way :
argo and runes as submodules directly under root project using git submodule add argourl, git submodule add runesurl,

dragged argo.xcodeproj and runes.xcodeproj to my project and added embedded binaries.

Build is working fine. But archive is failing

I just followed those directions exactly on a new project and it all worked as expected 😕. Is it possible that something isn't set up the way you think? Do you have some other build setting that is interfering with the archive process?

please check the below error log: it is compiling runes and after compiling argo there it is failing.

=== BUILD TARGET Dollar OF PROJECT Dollar WITH CONFIGURATION Release ===

Check dependencies

=== BUILD TARGET AwesomeCache-iOS OF PROJECT Example WITH CONFIGURATION Release ===

Check dependencies

=== BUILD TARGET Curry-iOS OF PROJECT Curry WITH CONFIGURATION Release ===

Check dependencies
Curry-iOS will not be code signed because its settings don't specify a development team.

**=== BUILD TARGET Runes-iOS OF PROJECT Runes WITH CONFIGURATION Release ===**

Check dependencies

=== BUILD TARGET Argo-iOS OF PROJECT Argo WITH CONFIGURATION Release ===

Check dependencies

CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler
    cd /Users/rajeevprasanna/Desktop/Oodly_iOS/Argo
    export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
    ......
    .....

    Argo/Sources/Argo/Types/Decoded/Applicative.swift:1:8: error: no such module 'Runes'
import Runes
       ^

** BUILD FAILED **


The following build commands failed:
	CompileSwiftSources normal armv7 com.apple.xcode.tools.swift.compiler
	CompileSwift normal armv7
(2 failures)

check the screenshot for embedded binaries

screen shot 2017-07-04 at 12 55 48 pm

screen shot 2017-07-04 at 12 56 01 pm

Those screenshots look fine to me, but I'm still unable to reproduce. My assumption would still be that there's something in your project setup that is preventing the linking from happening properly, but I have no idea what that would be.

This issue is fixed after porting my project to use pods.