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)
- 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
- Other meessage when try add Apikey to anonymous user HOT 2
- Realm gets deleted on Compact HOT 2
- Wrong notification behaviour when subscribing both with `CollectionChanged` and `SubscribeForNotifications` HOT 2
- ShouldCompactOnLaunch not available for synchronized Realms HOT 1
- Collection.Filter should error out if argument is a removed object HOT 1
- Assigning a collection to a RealmValue property seems to merge it with other objects rather than replace it HOT 1
- TypeInitializationException on initialization HOT 3
- Incorrect argument parsing in test client HOT 1
- Flexible schema POC HOT 1
- No properties in xxxRealmObject HOT 5
- Support using a log level for a specific log category HOT 1
- Regression in 12.x when building for Linux on Arm32 HOT 1
- Getting exception The class TripModel is not in the limited set of classes for this realm HOT 4
- XXX is an IDictionary but its generic type is String[] which is not supported by Realm HOT 2
- `SubscribeForNotifications` initial event should probably not be coalesced HOT 4
- Unity: Compensating Write Errors not Logged as Errors HOT 4
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.