-
Notifications
You must be signed in to change notification settings - Fork 85
/
compatibility.txt
109 lines (84 loc) · 3.71 KB
/
compatibility.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
.. _dotnet-compatibility:
.. _dotnet_supported-platforms:
===============================================
Platform and Framework Compatibility - .NET SDK
===============================================
.. contents:: On this page
:local:
:backlinks: none
:depth: 2
:class: singlecol
Compatibility
----------
The following table shows which .NET
version(s) you can use with Realm on your target platforms:
.. list-table::
:header-rows: 1
:widths: 50 50
* - Target Platform
- Supported Version(s)
* - | Debian 8 or later
| RHEL 7.1 or later
| Ubuntu 16.04 or later
- .NET Core 2.0 or later (.NET 5.0 or later)
* - Windows 8.1 or later
- | .NET Core 2.0 or later (.NET 5.0 or later)
| .NET Framework 4.6.1 or later
| MAUI requires Windows 11 and Windows 10 version 1809 or higher, using
Windows UI Library (WinUI) 3.
* - Universal Windows Platform (UWP)
- .NET Standard 2.0 or later (Fall Creators Update)
* - macOS
- | .NET Core 2.0 or later (.NET 5.0 or later)
| Xamarin.Mac for macOS 10.11 or later.
| MAUI requires macOS 10.15 or later, using Mac Catalyst.
* - iOS
- | Xamarin.iOS for iOS 9 or later.
| MAUI requires iOS 11 or later.
* - Android
- | Xamarin.Android for Android 4.1 (API level 16) or later.
| MAUI requires Android 5.0 (API level 21) or later.
Development Environments
------------------------
You can use the following development environments to build Realm apps with
the .NET SDK:
- Visual Studio 2015 Update 2 or higher for Windows
- Visual Studio for Mac 7.0 or higher
- Unity `2020.3.12f1 (LTS) <https://unity3d.com/get-unity/download/archive>`__
.. note::
The :doc:`Realm .NET SDK </sdk/dotnet>` may be compatible with
other versions of Unity, but ``2020.3.12f1 (LTS)`` is the version that the
Realm team uses for testing and development. We recommend using
this version to ensure your project works with Realm and that
the install steps match the :doc:`Integrate Realm with Unity
</sdk/dotnet/unity>` documentation steps because Unity's UI
often changes between versions.
Android Deployment
------------------
Due to some instruction set limitations, Realm does not support
deploying Android apps to the ``armeabi`` ABI. Because default templates often
have different ABI settings for Debug and Release modes, your app may throw
a ``System.TypeInitializationException`` exception in Release mode but not when
it was running in Debug mode.
To avoid this, verify the ABI settings for both Debug and Release modes. To check
and change the settings, follow the steps in the
`Visual Studio CPU Architectures <https://docs.microsoft.com/en-us/xamarin/android/app-fundamentals/cpu-architectures>`_
page.
Unless you have a good reason to avoid linking other ABIs, we recommend
checking all of the settings other than ``armabi``:
.. figure:: /images/ABI-settings.png
:alt: ABI settings
Limitations
------------
Realm has limits imposed to balance flexibility with performance. The SDK
throws an exception during app initialization if the following limits are
exceeded:
- Class names can't exceed 57 bytes in length.
- Property names can't exceed 63 bytes in length.
In addition, for iOS apps, the total size of all open Realm files cannot be
larger than the amount of memory your application is allowed to map in iOS. This
varies per device, and depends on how fragmented the memory space on the device is.
If you need to store more data than is allowed, you can split your data into
multiple Realm files, open a realm only when needed, and close it when it is
no longer needed.
For more information, see `Open Radar 17119975 <http://www.openradar.me/17119975>`_.