davidmartos96 / sqflite_sqlcipher

SQLite flutter plugin
BSD 2-Clause "Simplified" License
96 stars 41 forks source link

[!] CocoaPods could not find compatible versions for pod "SQLCipher": #77

Closed mohabbatta closed 10 months ago

mohabbatta commented 10 months ago

I get this error can not find solution for this

In Podfile: sqflite (from .symlinks/plugins/sqflite/ios) was resolved to 0.0.2, which depends on SQLCipher (~> 4.4.0)

sqflite_sqlcipher (from `.symlinks/plugins/sqflite_sqlcipher/ios`) was resolved to 0.0.1, which depends on
  SQLCipher (= 4.5.4)

and here is my dependency

dependencies: sqflite_sqlcipher: ^2.1.1+1

dependency_overrides: sqflite: git: url: https://www.github.com/davidmartos96/sqflite_sqlcipher.git path: sqflite ref: fmdb_override

so I thank the override need to be updated or how to specify version of it

davidmartos96 commented 10 months ago

You are correct. The fmdb_override branch needs to be updated to 4.5.0 in the ios and macos podspec files. Feel free to open a PR with a fix for that branch, I can merge it. Otherwise you'll need to wait until the end of the week, as I'm away.

candreotti commented 10 months ago

Hello, I am getting the same problem after upgrading to sqflite_sqlcipher: ^2.2.0 Runs fine in Android but when I try to build for iOS I got the "[!] CocoaPods could not find compatible versions for pod "SQLCipher"" error... Any news about that? Am I missing something?

Complete log is: [!] CocoaPods could not find compatible versions for pod "SQLCipher": In Podfile: sqflite (from.symlinks/plugins/sqflite/ios`) was resolved to 0.0.2, which depends on SQLCipher (~> 4.5.0)

sqflite_sqlcipher (from `.symlinks/plugins/sqflite_sqlcipher/ios`) was resolved to 0.0.1, which depends on
  SQLCipher (= 4.5.4)

Specs satisfying the SQLCipher (~> 4.5.0), SQLCipher (= 4.5.4) dependency were found, but they required a higher minimum deployment target.`

Thank you

davidmartos96 commented 10 months ago

@candreotti 4.5.4 requires at least iOS 11.0.

You would need to increase the minimum on XCode.

Source: https://github.com/sqlcipher/sqlcipher/commit/c867151ba5e2302be078b63db444581c46bcad72

candreotti commented 10 months ago

Hello @davidmartos96 I already have IPHONEOS_DEPLOYMENT_TARGET = 11.0

davidmartos96 commented 10 months ago

@candreotti Have you tried deleting the Podfile.lock ?

davidmartos96 commented 10 months ago

@candreotti Ok, it could be that the dependency_overrides is not up to date.

Can you try the following?

flutter pub upgrade sqflite

candreotti commented 10 months ago

I have tried to delete Podfile.lock and Pods folder but nothing has changed,

I have run the command 'flutter pub upgrade sqflite' and it says that 'No dependencies changed.'

It shows me the following versions: sqflite 2.0.3 from git https://www.github.com/davidmartos96/sqflite_sqlcipher.git at 57a9f7 in sqflite (overridden) sqflite_common 2.5.0 sqflite_sqlcipher 2.2.0

davidmartos96 commented 10 months ago

That looks ok. Overriden sqflite points to latest 57a9f76249b27ebb217ea93628935b49c8ce92df

From the message you got it looks like the reason is the deployment target version.

Specs satisfying the SQLCipher (~> 4.5.0), SQLCipher (= 4.5.4) dependency were found, but they required a higher minimum deployment target.

I've noticed that both the override branch and the plugin code were referencing old minimum deployment targets.

Can you try version 2.2.1 of sqflite_sqlcipher and do the flutter pub upgrade sqflite again? It should change the reference of the override to commit 6be83a51cc8ad7feda7e0454d277e1d08524124d

candreotti commented 10 months ago

I have updated sqflite_sqlcipher v2.1.1 in my pubspec.yml Then flutter clean and flutter pub get and flutter pub upgrade sqflite This time it says "Changed 1 dependency!" And now I got:

sqflite 2.0.3 from git https://www.github.com/davidmartos96/sqflite_sqlcipher.git at 6be83a in sqflite (overridden) sqflite_common 2.5.0 sqflite_sqlcipher 2.2.1

But when I try to build for iOS it still gives me the same problem [!] CocoaPods could not find compatible versions for pod "SQLCipher": In Podfile: sqflite (from.symlinks/plugins/sqflite/ios) was resolved to 0.0.2, which depends on SQLCipher (~> 4.5.0) sqflite_sqlcipher (from.symlinks/plugins/sqflite_sqlcipher/ios) was resolved to 0.0.1, which depends on SQLCipher (= 4.5.4) Specs satisfying theSQLCipher (~> 4.5.0), SQLCipher (= 4.5.4)dependency were found, but they required a higher minimum deployment target.

davidmartos96 commented 10 months ago

@candreotti I'm not sure what could be going on then. Unfortunately I don't have an iOS device to test right now.

I would try a full clean for ios

  1. flutter clean
  2. Delete the folder ios/.symlinks (flutter clean doesn't remove it)
  3. Remove Podfile.lock
candreotti commented 10 months ago

I have already tried to delete ios/.symlinks and ios/Pods folders as long as the Podfile.lock When I build it recreates the two folders .symlink and Pods but it won't recreate the Podfile.lock file Still failing with the previous log message...

davidmartos96 commented 10 months ago

@candreotti Does the example app in the repo work for you? If not, please create a separate issue and I will look into it once I have some iOS device at hand.

You can keep using version 2.1.1 and the override with ref: 86d815d377caef8a6214000e57a6af76d999e822 in the meantime

candreotti commented 10 months ago

I think I have solved that! ...I wrote you a couple of hours ago but somehow my reply is missing now...

I had to run the command 'pod repo update' from within the ios folder and then everything start working correctly, I managed to succesfully build my app for iOS.

Thank you very much @davidmartos96 for your help!

PS if you want me to test the example app in the repo for you anyway let me know and I will be happy to help

davidmartos96 commented 10 months ago

@candreotti Glad to hear that worked! Thanks for offering your help, but don't worry with the example app then. The flutter project probably needs updating anyway. I'll give it a look.

Did you get any noticeable changes in your git after it worked? Or was it solely updating the pubspec.yaml what made it work?

candreotti commented 10 months ago

No, I didn't notice anything else than the Podspec.lock file being completely regenerated.

Upgrading from an old release it seems that the cocoapod-thing kept some repo/stuff cached somewhere and you need to explicitly tell it to update them... Very counterintuitive but... that's life! :D