[v2.0.0-develop-1][Xamarin] User SignUp
i was using parse sdk v2.0 in a Xamarin Forms Shared Project. I am trying to register a new user using Source: https://github.com/parse-community/Parse-SDK-dotNET/#basic-demonstration
Steps to reproduce
Create a Xamarin Forms Shared Project. Install-Package parse -Version 2.0.0-develop-1 Copy Paste Code:
// Instantiate a ParseClient. ParseClient client = new ParseClient(back4app_app_id,back4app_server_url, clientKey);
var instal = client.Services.GetCurrentInstallation(); // Create a user, save it, and authenticate with it. await client.SignUpAsync(username: "TestABC", password: "Test"); // Get the authenticated user. This is can also be done with a variable that stores the ParseUser instance before the SignUp overload that accepts a ParseUser is called. var curUser=client.GetCurrentUser(); // Deauthenticate the user. await client.LogOutAsync(); // Authenticate the user. ParseUser user = client.LogInAsync(username: "Test", password: "Test").Result;
Actual Outcome
await client.SignUpAsync(username: "TestABC", password: "Test"); throws following exception: System.ArgumentNullException: 'Value cannot be null.Parameter name: element'
Expected Outcome
After SignUpAsync() Function client.GetCurrentUser() should return current User
Environment
Server
- Parse Server version:
4.2.0 - Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc):
Back4APP
Client
- Parse .NET SDK version:
-Version 2.0.0-develop-1 - Xamarin.Forms Project is .NET 2.1
I'm facing the exact same error with the function CallCloudCodeFunctionAsync Xamarin Forms shared project too.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
I recently encountered this same issue. The problem and the solution is referenced in other issues here, such as #344. Namely, you have to follow the procedure in the README for the Unity client: https://github.com/parse-community/Parse-SDK-dotNET#use-in-unity-client
You have to adapt it a bit for Xamarin. Here is what I've used to get it working with Xamarin Forms 5:
var client = new ParseClient(new ServerConnectionData
{
ApplicationID = "...",
Key = "...",
ServerURI = "..."
},
new LateInitializedMutableServiceHub(),
new MetadataMutator
{
EnvironmentData = new EnvironmentData { OSVersion = Environment.OSVersion.ToString(), Platform = Device.RuntimePlatform, TimeZone = TimeZoneInfo.Local.StandardName },
HostManifestData = new HostManifestData {
Version = this.GetType().Assembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>().InformationalVersion,
Name = this.GetType().Assembly.GetName().Name,
ShortVersion = this.GetType().Assembly.GetName().Version.ToString(),
Identifier = AppDomain.CurrentDomain.FriendlyName
}
});
ServerURI need add / to last, such as http://localhost:1337/api/