Posts

Post not yet marked as solved
0 Replies
249 Views
Can someone share how secure is the communication between iOS app and its safari mobile extension. Is it encrypted? Are there any references to best practices to follow? If a user has opened multiple tabs and has multiple extensions can there be security issues during their communication like one extension able to read other extensions memory?
Posted
by vmvinoth.
Last updated
.
Post not yet marked as solved
1 Replies
227 Views
We are facing a challenging memory issue during a Core Data heavy weight migration in our app. Background: We store sizable data(~250kb/record) in a Core Data entity called "Email." We have roughly 20k records. We are loading the "Email" list using fetchedResultsController with batching. Recently, we split the another entity named "Profile" into "Profile" and "Address" entities, requiring a heavyweight migration. The Problem: This migration consumes an exorbitant amount of memory, causing the OS to kill our app. Interestingly, the "Email" entity is causing the brunt of the memory usage, even though the actual migration code deals with the "Profile" entity to create "Address." If we remove the "sizable" data from "Email" and attempt for migration then the migration is successful. My Questions: Is this memory consumption expected behavior? Why does the "Email" entity, seemingly unrelated to the actual migration, seem to be the main memory culprit? How can I prevent the OS from terminating my app during migration? Are there strategies to optimize memory usage or mitigate memory pressure? Also we are encountering a delay in loading the email list on the very first launch of app. Subsequent launches work comparatively faster. Is that related to storing bigger size data in Email entity?
Posted
by vmvinoth.
Last updated
.
Post not yet marked as solved
0 Replies
231 Views
We have an entity called "EMail" with attributes such as ID, From, To, Subject, Body. Due to various reasons including performance for retrieval, impact on migration etc, we want to refactor this entity into two entities with a parent child relationship: "EMail": ID, From, To, Subject and "EMailBody": ID, Body. Can this be done with an existing model? If so, will this still fall under lightweight migration?
Posted
by vmvinoth.
Last updated
.
Post marked as Apple Recommended
894 Views
Our application is configured to handle a custom file type with the extension .ptw. Until the release of iOS 17, when we used Airdrop to send a .ptw file, it would seamlessly open directly in our app on the receiving device. However, since iOS 17, we've noticed a change in behavior where the .ptw file is now being automatically saved to the Files app. To access it in our app, we must manually tap the share button and select our app from the sharing menu. I'm curious to know if others have experienced this change as well, and whether this is the expected behavior in iOS 17 or We are missing some configurations to regain the previous behaviour. If anyone has any insights, workarounds, or suggestions regarding this issue, please share them here.
Posted
by vmvinoth.
Last updated
.
Post not yet marked as solved
1 Replies
620 Views
We are currently exploring deferred installation using iOS universal links. Our web page includes universal links with specific user data that we want to pass to the app after first installation. We are looking for suggestions on implementing a seamless transition from Safari to the app, where the device can be consistently and uniquely identified. Any insights or best practices regarding JavaScript-based fingerprinting, storing identifiers, and linking them to user accounts within the app would be greatly appreciated. Additionally, I'm interested in ensuring compliance with privacy regulations and maintaining transparent data collection practices. Thank you in advance
Posted
by vmvinoth.
Last updated
.
Post not yet marked as solved
0 Replies
433 Views
We have a core data entity with an attribute "description" with very very large string stored. When we try to filter the entities with a predicate format such as "description contains ***" then it takes around 20 seconds time when the number of rows are above 10000. To improve the speed we tried adding index to description, but it took actually more time than querying without index. Not sure it is because of "contains" predicate. We also have a requirement of fetching all the matching rows immediately. So we cannot use fetchLimit. Is there any alternative to fetchrequest predicate? Is there any better ways to make the fetchrequest faster? Please suggest Thanks Vinoth
Posted
by vmvinoth.
Last updated
.
Post not yet marked as solved
0 Replies
486 Views
We have a Mac Catalyst app that is installed and works with a custom Safari extension. The Safari is working as expected and is able to pass messages (using sendNativeMessage) to the Mac Catalyst app as expected. Now we want to port the extension to Chrome and other browsers on the desktop and retain the ability to pass messages back and forth. My questions: Is it possible ? Can we pass messages form the Chrome extension and the Mac Catalyst app? How do we distribute/install the Chrome extension? Can we have the extension running in parallel across multiple browsers and still communicate the Mac Catalyst app ?
Posted
by vmvinoth.
Last updated
.
Post not yet marked as solved
2 Replies
855 Views
Hi all, We have an iOS app which has Cloudkit Coredata as storage mechanism. Whenever user logout of iCloud in settings app, then the Coredata is wiped out and no row exists in the tables. Can we prevent this. We want to retain the coredata values until there is another iCloud user logs into settings app. Thanks Vinoth
Posted
by vmvinoth.
Last updated
.
Post not yet marked as solved
1 Replies
466 Views
let query: [String : Any] = [kSecClass as String : kSecClassGenericPassword, kSecAttrLabel as String : "hello@email.com"] let status = SecItemDelete(query as CFDictionary) A query like above helps to search the keychain and delete the entries that have AttrLabel as "hello@email.com" . However we are having a requirement to delete the entires that don't match "hello@email.com", basically we want to get all entries that are NOT EQUAL TO "hello@email.com". I checked on the documentation and other links, we could not find on details whether it is possible to pass != condition to keychain query Please suggest Regards, Vinoth
Posted
by vmvinoth.
Last updated
.
Post not yet marked as solved
3 Replies
681 Views
Hello All, We are working on an app that involves storing sensitive data in cloud keychain. We took two devices made a change to keychain value in one device. After some random delay the iCloud sync happens and the changes comes to the second device. We see this delay in iCloud sync to be very random. Sometimes the sync happens in less than 1 min and sometimes it takes more than 1 hour. Is this delay in keychain sync expected. Is there any way to call synchronize() like we have for NSUbiquitousKeyValueStore to speed up the sync Thanks Vinoth
Posted
by vmvinoth.
Last updated
.
Post not yet marked as solved
1 Replies
481 Views
Hello All, We are working on an app that involves storing sensitive data in cloud keychain. Each sensitive data contains two parameters p1 and p2. We took two devices made a change to p1 in one device and p2 in another device. Both changes are performed on the same sensitive data. After some delay iCloud sync happens and the changes are not merged. Instead one change is chosen as a whole and the other change is discarded as a whole. Is it expected behaviour for keychain? Thanks Vinoth
Posted
by vmvinoth.
Last updated
.
Post not yet marked as solved
1 Replies
701 Views
We are using iCloud key value storage(NSUbiquitousKeyValueStore) in our app to store some user data. I moved to a new device and logged into iCloud settings and if I immediately open our app and query for a value it returns nil. After considerable delay say 1 minute and if I query, then the proper stored value is returned. We called synchronize(), but it did not help. Is there any other way we can force sync and get a value immediately. Thanks Vinoth
Posted
by vmvinoth.
Last updated
.
Post not yet marked as solved
1 Replies
652 Views
Hello All, Currently we have an app with coredata as storage mechanisms and it works fine. Now we want to move to coredata with cloudkit and found unique constraints are not supported by cloudkit. Can someone suggest how to enable cloudkit and still enforce unique constraints. Thanks in advance Vinoth
Posted
by vmvinoth.
Last updated
.
Post not yet marked as solved
0 Replies
614 Views
I have implemented an appclip where I want to differentiate between whether user scanned a QR code and hence the appclip got opened or because user searched the app in spotlight and hence the appclip got opened as accordingly I want to display an alert to the end user that he already has a booking in queue.
Posted
by vmvinoth.
Last updated
.