XCode 9 - iOS 11, no such sqlite3.c and Invalid bitcode signature

Using XCode 9, iOS 11, SQLCipher Community Edition

  1. For some reason in this version of XCode, iOS and SQLCipher Community Edition I get the following error:

No such file or directory: '/Users/user/Desktop/Test One Dir/sqlcipher/sqlite3.c’
No input files

Only happens if there is a space in the path. I did not have this issue with the previous version of XCode.

  1. If I compile with a iPhone 5 10.3.3 I get he the following error:
    Showing All Issues
    error: Invalid bitcode signature
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

If I change the device to iPhone 6 10.3.3 no problem compiling and running on device.

If I use any simulator I do not see this issue at all.

I did not see these issues in the previous release of XCode or iOS.

I did some more testing and following the SQLCipher Community Edition documentation everything compiles just fine on the simulator and a iPhone 6. Once I change the target to the iPhone 5 I get the “Invalid bitcode signature” Once I removed SQLCipher from the project the project compiled fine on the iPhone 5.

So, if someone has any idea I would love to hear it. I have tried everything I could think of all morning and last night.

Maybe its me, but Im not sure where to look.

Not sure about the pathing with space, I just do not use them anymore.

Hey @BobTheDude

I’d try clearing Derived Data, cleaning the project, and restarting XCode after you switch to iPhone 5.

You may also want to confirm that you have “Build Active Architectures Only” set to YES for Debug (and NO for Release). Also ensure that your scheme is using the Debug config

What do your “Enable Bitcode” settings look like? If they’re enabled and you temporarily disable them, does this allow your project to build without error?

Cheers,
Micah

Thanks mmore for the help. I have tried all of that. Again, all I do is is switch from iPhone 6 to iPhone 5 at the to and run.

Its wierd, guess its something with my setup. Im a bit afraid to proceed with this setup, not knowing the cause. Do not want to push something that will not work on iPhone5 even if it works on iPhone6.

@BobTheDude

Although I don’t have that specific device/iOS combination, I was able to build a simple project including SQLCipher with an iPhone 4s device (iOS 9.3.3) attached using Xcode 9.

Are you able to re-create this issue in a small test project that you could share? If so, I’d be happy to take a look on my end.

Cheers,
Micah

I do have a simple project created to duplicate the issue.

I have done a bit more testing and it seems to only happen on iPhone 5 (Model A1428) thus far. I also have a couple more iPhone 5’s (Model A1662, A1723, A1724) and I do not get the issue at all on those devices. There is one more device which I will get in a couple hours which is the model after A1428 and has touch built in, the A1428 does not have touch build in. So, I am not sure what impact this has.

How would you like me to get the test project to you?

Its a new project and only has SQLCipher added, nothing else.

@BobTheDude

How would you like me to get the test project to you?

Upload it to Github and either post a link here or pm me the link.

Thanks!

Cheers,
Micah

I needed to step away from the issue for a bit and work on other parts of the project. I am now back on this issue.

  1. If I install and configure SQLciper per documents everything compiles and runs just fine on any device except one iPhone 5. Its an A1428 with iOS version 10.3.3. On my other iPhnoe 5’s 6’s, Pads everything ok, so I turned off ENABLE_BITCODE for the sqlcipher project and now SQLciper compiles and installs in the A1428 with iOS version 10.3.3. I can duplicate this every time. So my question is, by turning off ENABLE_BITCODE in the sqlcipher project am I going to create more issues. I would like to support iOS 10.x and 10.3.3 is the max version for this model. So I need to make a decision to stick with 11.x only or go back to 10.x.

@BobTheDude

Would you be able to share your simple sample project that’s causing the issue?

Are you integrating SQLCipher by using the community edition instructions located here: SQLCipher Community Edition - iOS and macOS Tutorial - Zetetic ?

I also have a couple more iPhone 5’s (Model A1662, A1723, A1724)

It appears these are all iPhone SE models (using arm64) is that correct?

I have done a bit more testing and it seems to only happen on iPhone 5 (Model A1428) thus far.

So it’s only occurring for you on the iPhone 5 device that’s using armv7s?

What are your Architectures set to on the Build Settings of your top level sample project? If they’re set to Standard architectures, could you also add in armv7s ?
armv7s_archs

Let me know if adjusting this has any affect. Thanks!