Integration on iOS with extension targets

I am in the process of adding dynamic notifications to my iOS project, but after adding the new service and content notification targets, I am now getting the following errors for those targets

clang: error: no such file or directory: ‘/Users/user/Library/Developer/Xcode/DerivedData/Project-fszajszifrpxyrflmsoducbdvwxp/Build/Products/DebugDEV-iphoneos/libsqlcipher.a’

The error is coming from the linking in the notification service target, however I have no explicitly linked sqlcipher to this target, nor do I have any use for it in either new target. So my question is, how do I handle this in my project?

@tcoyle

Without seeing your project setup, my initial guess would be that you have

"Other Linker Flags" = $(BUILT_PRODUCTS_DIR)/libsqlcipher.a

set at the project level Build Settings (so it’s inherited by each target within that project) and because you’re not linking libsqlcipher.a in this target it’s not present at that location as the clang error states.

To resolve this, you should be able to select the target’s Build Settings and delete this “Other Linker Flag” as it’s not needed unless you’re linking SQLCipher to that target.

Let me know if this resolves the issue for you.

Cheers,
Micah

That did the trick! Thanks for the fast response

@tcoyle

Great, glad to hear that resolved the issue for you.

@tcoyle - were you able to keep your app from being terminated when launching a separate extension?

e.g. see this issue which reports the main app is killed when beings suspended - seemingly because sqlcipher doesn’t abide by the iOS restrictions around shared containers.

Hi @michaelkirk

We are actively debugging this specific scenario. Currently it appears that there may be an issue in upstream SQLite. As @sjlombardo mentioned in the Github ticket, we have implemented a minimal codec that does not utilize SQLCipher at all, when that is used, in conjunction with WAL mode, the crash still occurs. We will update that ticket when we have more definitive information to share.

I do not utilize any additional extensions outside of notifications. And those do not access the database. No issues with background crashing that I’ve observed yet, but still in active development.