Save password

In my app the user can create a password to restrict the access to some data.
Is any restriction from apple that the password’s must be saved in KeyChain or can i save the password to my encrypted sqlite?

Must be - no
Should be - definitely recommended since then a user can open KeyChain and view it / remove it / update it etc

Don’t make me get out my podium.

And if this is a cross-platform app do you want an Apple solution and a Windows and a Linux solution too? Cross-platform apps are often a compromise.

Is osx only.
For some reasons i don’t want the user,or users who have access on mac to see the password from keyChain.
If the user Loose the password is a hint to retrieve it, if the user fail then the data is lost…

I don’t think you should store your plain passwords at all.
Just MD5 it (the password+yoursecret) and store it anywhere you want.
When the user enters his password, MD5 it again and compare this result to the MD5 you had stored. If the same, all is ok. If not, password is incorrect.
This way, it’s no problem if others get access to the password store.

Don’t save passwords at all.

Dealing with the problem of passwords