iOS Application hangs up when started from TestFlight or AppStore - ios

I have developed an iOS application, which has signup process. When started in debug the application is working as expected.
When the application is installed trough TestFlight or AppStore the following scenario occurs:
When starting from the application icon on the home screen everything works as expected.
When starting from TestFlight or AppStore via the "Open" button the application hangs after the signup process is successfully completed.
The application can be downloaded from the following URL: https://itunes.apple.com/us/app/treffn-we-make-meeting-up-easy/id1137059844?ls=1&mt=8
The two outcomes can be observed if you reinstall the application. The application doesn't crash so I don't have any crash reports.
I'm looking for a way to simulate such launch in debug so I can trace what is happening or any ideas on what might be causing the issue.

While asking some of friends around. I understood that the Launch Options are providing additional parameters when launching the application directly from the AppStore or trough TestFlight.
I have found a similar question, which helped me solve my issue.
https://stackoverflow.com/a/34118249/1913174
When you are handling the launch options parameter you should always handle only the cases, which matter to you. In all other cases you should allow your application to behave as started from the icon. In my case I'm handling start from push notification and start from Quick Action. I was storing the launch options each time the application was not started from a Quick Action, which lead to the point when I was trying to handle Push Notification data, which didn't existed.

Related

TestFlight build is not working same for every user

I'm new to iOS development.
I have a app built with React Native and already deployed on app store. I'm working on version 2.0 of the app. Previous version was built by some other developer company.
They delivered the source code for the version one, I'm gonna work on top of the codes of version one.
I've pushed a build on TestFlight to check if the existing codes are okay.
Now on TestFlight,
most of the testers are not finding any problems but some users can't login. Whenever they try to login, either there is an infinite loading screen or the app takes back to splash screen. The users then tries again to login but again after entering otp, user is sent back to splash screen.
Now this scenario is happening only with 2, out of our 20+ testers. We don't know where the problem is because we can't recreate the same issue in other devices.
Also, this same app with same code is deployed on google play store and working without any issue.
Has anyone else faced similar issue? Is it a problem with the test flight?
N.B: Everyone using iphone with latest iOS update 16.3
Try to log in with their credentials on your simulator/local device where you have access to logs etc.
Sounds to me like there's an issue with some specific accounts, maybe they have some properties in their accounts that has been altered/removed that's making the login process fail / load the correct content.
Edit: If there's infinite loading, have they checked their internet connectivity as well?

Show a log submission prompt after an iOS app crash?

I'm quite new to iOS app development, but back when developing desktop applications (both linux and windows), it's quite common to add a "guardian process" to check on the state of the main process and when the application crashes, a prompt is shown to let user choose whether to submit an error log and whether to restart the application.
It seems for Android apps, it's also possible to have a background service to check the state of a main application and when it crashes, a prompt is shown to let the user choose whether to share an error log or not.
Now I wonder if iOS apps can offer a similar functionality. So far it seems the crash reporting tools I'm aware of are just submitting error logs after the app crashed and started again by the user. Is it possible for an iOS app to show a "Your app has crashed, do you want to submit a crash log" prompt when it crashes? Or is this kind of feature simply technical impossible for the iOS platform?

Debugging React Native apps in background

While testing a release build of our React Native app on iOS, we discovered a defect with an input component that only occurred after the app had been in the background for a longer time (e.g. 1h). Presumably, this occurs after the app has been suspended by the OS.
I'm now trying to debug this issue, but when I run the app on a test device in debug mode and connected to the React Native Debugger, turn the screen off for some time and then bring the app back to the foreground, it will show a red screen with Runtime is not ready for debugging. error. This does not happen when I immediately bring the app back to the foreground after turning the screen off, so I suppose it's also related the app being suspended.
We're using React 16.3.0 and React Native 0.54.0 (preparing an update in a separate branch).
Can anyone help me understand what's going on here, and provide a suggestion on how to debug this issue?
Could you use something like Sentry for bug reporting? Not only does it log JavaScript errors, but native crashes too. This is great for seeing continuous errors encountered by your users, whilst in production.
You could also run a production build and debug it via USB.
Navigate to Product > Scheme > Edit Scheme. Ensure you've selected Production in the Build Configuration. Also select Debug Executable.
Once the application launches, go to View > Debug Area > Activate Console. You should now see any native logs from your app.
Can't really help with the problem that you're facing but you should take a look at Reactotron for debugging in react-native.

Way to see crash logs for an iOS app outside of an Xcode debugging session?

I have an app where the user needs to login before using it .
to enhance the user experience , the user needs only to login at the first time and each other time the app will not show the login screen but it will show the app [ I am using user default to store his id ]
now I have achieved this but I ran into a bug and the app crashes when I open it after a succeeded login ..
The problem is :
to mimic the scenario where I open the app without the need to login , I had to stop the app [ which means there will be no debugging session ] and then reopen the app ..
What I am asking for :
is there a way to see what causes the bug knowing that I am not running the app in a debugging session ?
Thanks in advance
Can you run your app on a device? If so, you might be able to get the crash data you need from the Devices window, from Xcode.
Xcode -> Window -> Devices.
Select your device, then select View Device Logs.
Here's Apple's page on the subject.
For running in the simulator, you may be able to get the crash data you need from the Console (I've just tried this and seen at least one crash log from my current development).
Here is Apple's page on Testing with the Simulator. From the menu on the left, check out Viewing Crash Logs. Extract from that page...
To view a crash log
Open Console by going to Applications/Utilities/Console in the Finder.
Look for the line in Console that reads “Saved Crash Report for.”
Expand this item using the arrow at the left.
Click Open Report.
You can maybe check: https://try.crashlytics.com/
It's part of the twitter Fabric framework now quite easy to use, and provides good information
Use Hockey app for getting the info regarding the crash logs:
Here is the link to setup the Hockey app in iOS:
http://support.hockeyapp.net/kb/client-integration-ios-mac-os-x/hockeyapp-for-ios
check plcrashreporter : https://code.google.com/p/plcrashreporter/downloads/list
http://plcrashreporter.googlecode.com/svn/tags/plcrashreporter-1.1-beta1/Documentation/API/functions.html
it's very easy to use and
If your application crashes, a crash report will be written. When the application is next run, you may check for a pending crash report, and submit the report to your own HTTP server, send an e-mail, or even introspect the report locally

new version of ios application error

I have a problem with iOS application, that I uploaded to Itunes for publishing in the store. Apple began the typical process of approval, but errors appeared.
The application worked in my test enviroment. No problems. When the Apple revision process began they told me that the application doesn't start.
When the application start the error is:
There is a new version of AppName
to download. Press OK button to
download it in the AppStore
But:
1) The application is the only version. Is a new app, never uploaded before to Apple Store.
2) When i push the OK, the app closes. So, no way to run the app even with that.
I search through forums and internet with no luck. I don't know where to search about this problem.
For more confusion, after the test from Apple, in my test enviroment i can reproduce the error. I don't know if i did anything wrong in the middle or something change on app version check from Apple.
I contact Apple in the previous days to give more info about the problem, but the only that they say is "the application does not work"
Can you give me an advice?... what info you need? (logs, etc)
Thanks to point me in the right direction.

Resources