Xamarin/MAUI Troubleshooting Guide
Common issues and solutions for UXCam Xamarin and .NET MAUI integration
Xamarin/MAUI Troubleshooting Guide
Common issues and solutions when integrating UXCam with Xamarin and .NET MAUI applications.
Quick Diagnostics Checklist
Before diving into specific issues:
- Visual Studio is updated to latest version
- UXCam NuGet package is latest version
- Valid UXCam app key is configured
- iOS deployment target is 12.0+ / Android minSdkVersion is 21+
- Platform-specific initialization is correct
Installation Issues
NuGet Package Installation Fails
Symptoms:
Unable to resolve 'UXCam.Xamarin' for '.NETStandard,Version=v2.0'
Solutions:
-
Update NuGet sources:
- Visual Studio > Tools > Options > NuGet Package Manager > Package Sources
- Ensure nuget.org is listed and enabled
-
Clear NuGet cache:
dotnet nuget locals all --clear- Restore packages:
dotnet restorePlatform-Specific Package Issues
iOS missing native reference:
Could not find UXCam framework
Solution:
- Right-click iOS project > Manage NuGet Packages
- Install
UXCam.Xamarin.iOS
Android missing binding:
Java.Lang.NoClassDefFoundError: com/uxcam/UXCam
Solution:
- Right-click Android project > Manage NuGet Packages
- Install
UXCam.Xamarin.Android
Runtime Issues
Sessions Not Appearing in Dashboard
Symptoms:
- App runs normally
- No sessions in UXCam dashboard
Debugging Steps:
- Verify initialization in platform projects:
Xamarin.iOS - AppDelegate.cs:
using UXCam.Xamarin.iOS;
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
System.Diagnostics.Debug.WriteLine("Initializing UXCam...");
UXCam.OptIntoVideoRecordings();
var config = new UXCamConfiguration("YOUR_APP_KEY");
UXCam.StartWithConfiguration(config);
System.Diagnostics.Debug.WriteLine("UXCam initialized");
// ... rest of initialization
return base.FinishedLaunching(app, options);
}Xamarin.Android - MainActivity.cs:
using Com.UXCam;
using Com.UXCam.Datamodel;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
System.Diagnostics.Debug.WriteLine("Initializing UXCam...");
var config = new UXConfig.Builder("YOUR_APP_KEY").Build();
UXCam.StartWithConfiguration(config);
System.Diagnostics.Debug.WriteLine("UXCam initialized");
// ... rest of initialization
}- Check output window in Visual Studio for initialization messages
Common Solutions:
Missing OptIntoVideoRecordings (iOS):
// Required for iOS screen capture
UXCam.OptIntoVideoRecordings(); // Add this before StartWithConfigurationWrong namespace:
// iOS
using UXCam.Xamarin.iOS; // Not just UXCam
// Android
using Com.UXCam;
using Com.UXCam.Datamodel;.NET MAUI Initialization
MauiProgram.cs:
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder.UseMauiApp<App>();
// Platform-specific initialization happens in platform folders
return builder.Build();
}
}Platforms/iOS/AppDelegate.cs:
using UXCam.Xamarin.iOS;
[Register("AppDelegate")]
public class AppDelegate : MauiUIApplicationDelegate
{
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
UXCam.OptIntoVideoRecordings();
var config = new UXCamConfiguration("YOUR_APP_KEY");
UXCam.StartWithConfiguration(config);
return base.FinishedLaunching(app, options);
}
}Platforms/Android/MainActivity.cs:
using Com.UXCam;
using Com.UXCam.Datamodel;
[Activity(MainLauncher = true)]
public class MainActivity : MauiAppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
var config = new UXConfig.Builder("YOUR_APP_KEY").Build();
UXCam.StartWithConfiguration(config);
}
}Screen Tagging Issues
Screens Not Tagged Correctly
Solution - Manual screen tagging:
Xamarin.Forms / MAUI:
public partial class HomePage : ContentPage
{
protected override void OnAppearing()
{
base.OnAppearing();
#if __IOS__
UXCam.Xamarin.iOS.UXCam.TagScreenName("Home");
#elif __ANDROID__
Com.UXCam.UXCam.TagScreenName("Home");
#endif
}
}Using DependencyService:
// Interface
public interface IUXCamService
{
void TagScreen(string name);
}
// iOS Implementation
[assembly: Dependency(typeof(UXCamService))]
public class UXCamService : IUXCamService
{
public void TagScreen(string name) => UXCam.TagScreenName(name);
}
// Android Implementation
[assembly: Dependency(typeof(UXCamService))]
public class UXCamService : IUXCamService
{
public void TagScreen(string name) => Com.UXCam.UXCam.TagScreenName(name);
}
// Usage
DependencyService.Get<IUXCamService>().TagScreen("Home");Occlusion Issues
Sensitive Data Visible
iOS:
var sensitiveView = FindViewByName("CreditCardEntry");
if (sensitiveView != null)
{
UXCam.OccludeSensitiveView(sensitiveView.GetNativeView());
}Android:
var sensitiveView = FindViewById<EditText>(Resource.Id.CreditCardEntry);
if (sensitiveView != null)
{
Com.UXCam.UXCam.OccludeSensitiveView(sensitiveView);
}Occlude entire screen:
// iOS
UXCam.OccludeSensitiveScreen(true);
// Android
Com.UXCam.UXCam.OccludeSensitiveScreen(true);Build Issues
Linker Errors
Symptoms:
MT2002: Failed to resolve UXCam.Xamarin.iOS
Solution - Update iOS linker behavior in project options:
- Right-click iOS project > Properties > iOS Build
- Set Linker behavior to "Link SDK assemblies only" or "Don't link"
Android ProGuard
Add to proguard.cfg:
-keep class com.uxcam.** { *; }
-dontwarn com.uxcam.**iOS Minimum Version
Update Info.plist:
<key>MinimumOSVersion</key>
<string>12.0</string>Or in project settings:
- iOS Build > Deployment Target: 12.0
Binding Issues
Method Not Found
Symptoms:
System.MissingMethodException: Method 'UXCam.StartWithKey' not found
Solution: The API may have changed. Check the current method signature:
// Old API
UXCam.StartWithKey("YOUR_KEY");
// New API
var config = new UXCamConfiguration("YOUR_KEY");
UXCam.StartWithConfiguration(config);Debug Information Collection
When contacting support, include:
-
Environment:
- Visual Studio version
- Xamarin/.NET MAUI version
- Target platforms and versions
-
NuGet packages:
dotnet list package-
Device logs:
- iOS: Xcode console
- Android:
adb logcat | grep UXCam
-
Configuration:
- Initialization code
- Project settings
Contact Support
- Email: [email protected]
- Documentation: Xamarin/MAUI Integration Guide
- Changelog: Version History
Updated about 12 hours ago
