Comments (10)
Thanks for bringing it to our attention. We'll schedule some work to make sure it's done before May 1st.
from realm-dotnet.
It seems that our usage is already covered by the default privacy manifest that MAUI needs, so we should be fine. I've also tried to send a test app to Apple for review and did not get any warning/errors about the privacy manifest, so hopefully we are already covered.
That said, feel free to reopen this if you get any errors about Realm when submitting to Apple.
from realm-dotnet.
Thanks a lot for your comment. I'm relieved to hear that.
By the way, I previously wrote that the declaration in the manifest can be appropriated as is. But after that, I found that realm-wrappers seems to use not only fstat and stat, but also statvfs.
realm-swift's PrivacyInfo.xcprivacy only declares NSPrivacyAccessedAPICategoryFileTimestamp
(for fstat and stat).
In realm-wrappers, it might be also needed to declare NSPrivacyAccessedAPICategoryDiskSpace
in the manifest.
FYI: PrivacyInfo.xcprivacy
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>E174.1</string>
</array>
</dict>
</array>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyTrackingDomains</key>
<array>
</array>
<key>NSPrivacyCollectedDataTypes</key>
<array>
</array>
</dict>
</plist>
from realm-dotnet.
I thought that the call to statvfs was only hit in testing code, but after double-checking it's also called when backing up realm files prior to file format upgrades, so RealmSwift needs to add that too. Thanks for catching that.
from realm-dotnet.
Looking at the documentation, it seems that the minimum privacy manifest necessary for iOS application already contains the keys that we wanted to include in out privacy manifest. For this reason we believe we should not do anything on our side, so I'm closing this ticket but feel free to reopen it if you experience any issue.
On a side note, @takeshik thanks a lot for reporting this and also spending the time to investigate how to fix it. I verified that your patch puts the privacy framework in the right place for iOS before noticing we probably don't need it. So thanks a lot on our side 😄
from realm-dotnet.
➤ PM Bot commented:
Jira ticket: RNET-1119
from realm-dotnet.
Little bit of confusing info but here are two links from Microsoft about this:
- https://learn.microsoft.com/en-us/dotnet/maui/ios/privacy-manifest?view=net-maui-8.0#create-a-privacy-manifest
- https://devblogs.microsoft.com/dotnet/apple-privacy-manifest-support/
from realm-dotnet.
Note that it appears we don't have to add this by May 1st as the Realm .NET SDK is not included in that list: https://developer.apple.com/support/third-party-SDK-requirements/.
from realm-dotnet.
Yes, fortunately we're not there. It's mostly a nice thing so developers don't have to do it themselves
from realm-dotnet.
Hello @papafe
i'm wondering if Realm dotnet uses these C# .Net framework APIs
if so, it would be needed to include a privacy manifest file into realm-wrappers.framework as @takeshik mentioned
i might be wrong, it's quite confusing :(
from realm-dotnet.
Related Issues (20)
- Crash: Realm.SyncSession is only valid for synchronized Realms HOT 6
- Realm.DeleteRealm() creates lock file if Realm doesn't exist HOT 2
- Change passing of tests on CI HOT 3
- Very slow deletion, multiple objects HOT 9
- Add tests for sync schema migration HOT 1
- Fix equality comparison for collections in mixed HOT 1
- Realm Obfuscation (Unity + Local Database) HOT 16
- Add tests for notifications with collections in mixed HOT 1
- Fix `SyncMigrationTests.Migration_FailsWithFutureVersion` HOT 1
- Follow up on progress notification HOT 1
- App.CurrentUser doesn't become `null` after anonymous user logout HOT 2
- Compacting a Realm results in an upgrade prompt in Realm Studio HOT 2
- Encrypted Realm created on Android won't open on Windows HOT 5
- Trying to open a particular Realm DB file throws the following exception - "Upgrading from file format version 22 to 24 D:\a\realm-dotnet\realm-dotnet\wrappers\realm-core\src\realm/util/encrypted_file_mapping.hpp:180: [realm-core-14.5.1] Assertion failed: local_ndx < m_page_state.size() with (local_ndx, m_page_state.size(), size_t(addr), size_t(m_addr), m_page_shift) = [85, 1, 2331762327552, 2331762294784, 16] <backtrace not supported on this platform>" HOT 11
- SDKs should not consume stitch_ prefixed fields HOT 1
- Error when trying to migrate IList data type with DynamicApi.GetList HOT 6
- IRealmCollection SubscribeForNotifications not working!!! HOT 7
- Add support for Migration.FindInNewRealm HOT 1
- RealmResults (from Realm live queries) no longer notify UI observers HOT 5
- ToDictionary(Tkey, Filter) not filter HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from realm-dotnet.