Hi Gagandeep - thanks for jumping in on this one.
I'm using an AGSCredential object created using the following
appDelegate.mapCredential = [[AGSCredential alloc] initWithToken:serviceToken referer:kFeatureServiceURL];
[appDelegate.mapCredential setAuthType:AGSAuthenticationTypeToken];
Where servcieToken is a valid token and kFeatureServiceURL is the URL to the feature service rest endpoint.
As I mentioned above, this is sufficient to download an offline database, and sync the database with no new data present. It errors out and fails when trying to upload new data.
AGSCredentials created with a username and password do not have this issue.