We want to lock screenshot on app screens in React Native app so that user is not allowed to take the screenshot. The feature is implemented successfully in android version of the same React Native app. But it is not working in iOS app which is published to app store. I have also tried react-native-prevent-screenshot plugin but that is also not locking screenshot in iOS version. I even implemented blurred view on appDelegate.m file to prevent screenshot capture in app, but even this did not have any impact. Can someone tell if Apple has banned this feature completely or there is possibility of some issue in coding. But I rule that out because it is working successfully in android apk. Please help
Related
I'm completely new to React Native, Expo and App development in general.
I'm building a React Native app solely for iOS using Expo. I've finally managed to finish a version I'm happy with, tested with users etc. I've now been spending time adding all the required screenshots, text, info etc to App Store Connect in order to submit the app. While doing that, I learned that iPad app screenshots was mandatory, which I found weird.
I later found that I had "supportsTablet: true" in my App.json file, so it makes sense that it's expecting iPad pictures. After changing this and making a new build and submitting that, it's still a requirement.
After Google a bit I can see that it has been impossible to change this:
Removing iPad support from app
iOS App Submission : remove iPad support
iOS App Submission want to remove iPad support
This led me down the road of trying to upload the app as a new submission. I can't get this to work though. According to this documentation:
https://developer.apple.com/library/archive/qa/qa1623/_index.html
I should change bundle identifier and upload again. Changing this in app.json under expo.ios.bundleIdentifier doesn't work though, as I just get an error that I've already uploaded this app previously.
What are the steps I should do to reupload the app as a new submission, so that I can not support iPad?
In order to upload a new version, you must increase the version and the build number. You can find this if you open the project in Xcode under the General tab and the Identity section. In the same tab, you will see the Deployment Info section where you can untick the iPad. Check the picture attached.
Previously I used this package to prevent snapshot for selected screen in android and ios.
https://www.npmjs.com/package/react-native-privacy-snapshot
https://github.com/kristiansorens/react-native-flag-secure-android
But it's not maintained by the owner and not compatible with react-native version >0.60. Many example and question in the internet only show how to prevent snapshot for whole application. But I need to prevent snapshot only for selected screen.
I've tried to do with this example
https://medium.com/#jonaskuiler/creating-a-security-screen-on-ios-and-android-in-react-native-97703092e2de
But in android, it prevents whole apps. In ios, it works.
you can use nmp library, react-native-prevent-screenshot
for more confusions and a perfact understanding check this asnwer
I have a React Native application and I use Expo. It's distributed to enterprise through a download link and not through the app store. The ipa works on iOS13 devices, and the download works for ios12 and below, but stopped working from ios13. If anyone encountered and knows why would be thankful.
We have found out that the reason the link is not causing the download is a JavaScript animation we had at the web page where people download the app from. This animation allowed downloading the app on iOS12 and below, on all browsers, and prevented downloading in iOS13 on all browsers.
I want to access realm database created by my ios app that I created using react-native. Its easier to use adb pull for android but for ios I am not getting much idea. There are some links like -
realm-file in ios app
to find app uuid for above link
So any help, how to view realm db for developing and debugging purpose for react-native developed ios app.
Thanks for the answer but additional (out of curiosity) Question - but how to find app uid which are installed by react native on ios simulator ??
While searching through the web, got the answer in docs:
console.log('realm db file path:', realm.path);
With the iOS emulator you can just find the path and open the Realm directly (which allows you to see the changes as they happen, great for debugging), on Android you will have to copy the file out to the regular file system.
It is all described in the docs for Realm Studio: https://docs.realm.io/platform/realm-studio/view-your-data#viewing-realms-from-emulators
I have followed the installation process to use Crashlytics to distribute my React Native app. When I have archived and installed the app via Beta, app stuck at Splash Screen and doesnt go passed it (This issue is in both iOS and Andriod). Does anyone had this issue before. Any help would be appreciated.