The Achievement class models whether or not an SC_Award has been achieved by a user.
It maintains information about achievement progress when the award cannot be granted in a single step, It keeps track of the date and the image, which reflects the current state.
You query this state by checking the boolean value returned by SC_Achievement_IsAchieved().
If the boolean value equals SC_TRUE, then the award has been achieved by the user.
If the boolean value equals SC_FALSE, then the award has not been achieved by the user.
To achieve an award, a user must reach an arbitrary value that you set, this is 1 in most cases. You can configure the "achieving value" so it can be reached in stages. You must configure both the "achieving value" of the award and the number of stages that it takes to reach it at https://developer.scoreloop.com.
For example, you might configure an award so that the "achieving value" equals 10, and that this can be reached in 10 separate incremental stages. When the game is played, this might mean that the user could achieve the award by collecting 10 secret jewels - finding a single jewel would represent completing one of the configured incremental stages. After the tenth jewel has been found then the user has reached the configured "achieving value" and achieves the award.
The progress however is stored only locally on the device. Just the information about achieved awards is synchronized with the server.
Achievement objects are retrieved from the server by using an AchievementsController.