How to get crash logs of Testflight external testers on Xcode or iTunes connect? - ios

Is there any ways to know what's wrong with someone's app. It is working on everyone else's device but this person.
The person tried removing the previous version and installing the new one, but it still does not work. I suspect that one of the files that I place in the documents folder might still be there... but the format of this file has changed since...

Apple has a technote about this named Debugging Deployed iOS Apps.
Also, if your tester syncs up their iPhone with a Macintosh or PC, iTunes also helpfully moves logs into predictable places where they can be retrieved from.

I am attempting to solve this logging of execution in TestFlight with the following simple approach...
In in-App Billing you really have to use TestFlight, so the problem is serious.
The "print("text") statements can be replaced in the code to calls to a func printTestFlight(text: String) which writes the strings to a database along with some identifier so you know the user.
This is quite simple and obvious, and to an extent it works.
If there are events which are logged by the os rather than teh user, then this approach misses those, notably the interesting ones around a crash. I'd be happy to hear from anyone who knows how to do thiso

Related

How does Yubo previously known as Yello remember users after reinstall?

Okay, I have asked Reddit 3x and Apple once and no one could answer this so I am coming to you guys. Please be the ones to answer this validly. Okay, details. Yubo remembers my phone after reinstall and I do not know how. I have tried the following:
Changed my IP Address using a VPN
Change my IDFA through reset identifier which I now know is pointless as since I had “limit ad tracking” on the output would have been an output value of numerous 0’s (though this some how got me unbanned from the “Instagram” app, idk how tho)
Changed my IDFV by...well reinstalling the app (Yubo is there only app so don’t ask about other apps from the vendor)
Change my iPhones name multiple times
Prevented the app from being backed up on Icloud then reinstalling
I also logged out of the Icloud prior to using the app for the first time after reinstall
And that’s about it. I am aware the app may recognize: my phone, ios version and hardware. However, none of that is exclusive to my phone. I have read people having the exact same model and phone so i doubt Yubo is remembering me through that. I have never met an app so smart before, but I know some of you have probably been screaming this entire time one thing I have missed so please tell me what i missed and a way to change it without resetting my phone.
My device: Iphone6s and IOS 11

How do you access the all of the NSLog statements?

I have an application which is producing an error very intermittently, I am trying to run it down with an NSLog statement in swift. However, after I have noticed the bug has occured, when I hook up my iPhone to review the logs in the Devices window. I only see about 5 minutes worth of statements from various applications. Is there a way to get the history past what automatically comes up? Is there a way to get your applications NSLog statements only?
I haven't tried it from Swift, but we sometimes use NSLogger from Obj-C. It will log to a local Mac application instead of the console on the device. Alternatively, we sometimes log to a file and then transfer the file via email.
You can take a look at Bugfender, it's a product we have built to solve this problem. We had the same problem, especially when delivering beta apps to our customers, so we decided to make a product to solve this problem.
With Bugfender you will be able to get the device logs without any need to connect the device to your computer.
It's easy to integrate and you can choose which devices you want to get the logs from. Our service works offline and online, we have spent a lot of time to make it reliable and easy to use.

ios read sms and call logs as mspy does

I went though lot of questions about tracking sms and call logs in non-jailbroken ios device. I came to conclusion that it is not possible.
But then I came across this
So I wonder how mspy does this. I am looking to built this functionality for enterprise app, so no problem of itunes rejection.
Can some one please help.
Thanks.
Please check these features description notes:
mSpy runs on jailbroken/non-jailbroken iOS devices. In the former
case, you need physical access for installation. In the latter case,
you need no access if you have iCloud credentials, but you get fewer
monitoring features. Still, the access may become necessary if iCloud
backup isn’t activated on the device.
I guess they are getting info from iCloud account but not the device itself. Moreover they have said fewer monitoring features , i dont know what they exactly mean by fewer and what info do they actually gets in that case. But they are sure getting info from already synced data over iCloud.

Corona "Certificate Not Installed" even though it is

I realize this question comes up a lot, but there is no one solution that has seemed to work for anyone.
I am working on developing an app for iOS and recently had to transfer my app to another developer account. My first account was an individual account where I was "Agent," and now the new account (corporate I think) has me listed as "Agent."
I created the certificates like I have always done, downloaded them, and placed them in my keychain. Everything said it was in order. I then created the app ID and re-entered all of the devices into the devices column. I moved on to the provisioning profiles, and again everything worked well. I downloaded them and imported them into Xcode, and when I go under settings and look under the account, it all looks in order.
Then when I attempt to build in corona, it tells me "Certificate Not Installed." Even though I had created the certificate on that device.
A possibility is that having 2 apple dev accounts signed in at once was confusing, so I logged out of my other, and, not surprisingly lost my ability to build for those either. I could still not build for iOS.
I have tried restarting my computer several times, and deleting everything and starting from scratch. I have tried creating the certificates a variety of ways and billions of combinations. I even tried using my other computer - although it also had dev set up for my other account.
Am I missing something crucial here? I don't have another computer to start over on if that is what it takes, but I guess I could clear one...
I greatly appreciate any suggestions!!
More specifically, for Starter and Basic subscribers, on OS-X you will need to download a new latest public build (2014.2393a). For Pro and Enterprise subscribers, you will need 2014.2405 or later.
Starter and Basic subscribers may have to add something to their build.settings for now due to another change Apple instituted this week. See: http://coronalabs.com/blog/2014/08/21/ios-building-issue
After some more hours of digging, I finally found a solution. Apparently apple changed some things in their newest releases, specific to their provisioning profiles and something in Xcode.
Corona Forums had this thread that solved ALL of my problems: http://forums.coronalabs.com/topic/50226-certificate-not-installed-cant-build-for-ios/page-2#entry260678
To summarize the forum - you need to install a new build of corona that solves the problem: https://developer.coronalabs.com/downloads/coronasdk
I hope my struggles have helped someone :)

Removal of TestFlight apps?

Is there a way to remvoe TestFlight apps from users that have installed them? Also is there a way that TestFlight can bake into the app some sort of password that the users all have to log in with (in case of a lost phone, we don't want our developement apps exposed).
If left untouched, the provisioning of your apps will eventually expire automatically. Even without the native ability to remove applications with TestFlight there is still something of an expiration date on the application.
That would still leave your question of a "baked in password prompt" and removing the application itself physically from the device.
The first part, the app checking for authentication could be solved by implementing a solution with a more robust SDK that happens to have that sort of security-minded approach. As far as I know, and based on TestFLight's feature grid, this exceeds the abilities of their tool.
The second part, removing the application itself from the device, would be accomplished by using a tool that has the ability to use MDM (Mobile Device Management) for device-level control. Specifically you'd want to look for something that can selectively control a single application, rather than having to apply a blanket MDM policy. Again based on knowledge of TestFlight and based on their web page this is also not something TestFlight is capable of.
There are solutions out there that will give you exactly what you are asking about - easy beta testing with the added ability to force the app to check in and re-authenticate as well as the ability to remove applications from the device when you're done testing. If you hit your search engine of choice you can find a few tools that will give you a "yes" to all of your questions here. The list is very short so they're easy to find. :)
If it is at all helpful to you, I am associated with one of those companies, AppBlade, and would be happy to answer questions about this sort of thing. We're at https://AppBlade.com and you're welcome to give us a call or even log into the tool to see how it works for yourself.
Unfortunately you can't delete apps that are already installed on the device via TestFlight, unless you do it on the device itself. As for the password, TestFlight doesn't exactly support that either. You could however put a passcode lock feature in all of the Beta versions of your apps through your code. Sorry thats probably not the answers that you wanted to hear, but TestFlight is still in its early stages.
You are not able to delete apps from a users device, however TestFlight is testing in their 'Area51' an option to force users to update to a new build if there is one available.
If you no longer want testers to access your app you probably could add a new build which justs shows some info screen.
There is a way to expire the builds in the app store connect when you click on build.
Another way if you want to get rid of it as a tested to open the app page and click on stop testing.

Resources