With Visual Studio App Center (Hockeyapp?) can I have a user email me their crash log or identify themselves so I can find their specific crash? - hockeyapp

Say a user is getting a really annoying crash and with their permission I want to help them and fix it. But also say I have a ton of other users also experiencing crashes so their specific crash is hard to identify.
https://learn.microsoft.com/en-us/appcenter/sdk/other-apis/ios#identify-installations
How can I (with their permission) pull their crash log out? I know each install has an anonymous Installation ID or whatever, if I make theirs visible in the app, is there a way to have them email that to me so I can search crash reports based on that? Or is there a way to just straight up have them email me their crash report?

You can do this by attaching a user's ID to the crash reports in App Center: https://learn.microsoft.com/en-us/appcenter/sdk/other-apis/ios#identify-users
This can either be the ID from your own account system or you can for example just re-use the anonymous Installation ID generated by the App Center SDK for this. Then, you would also need a way for the user to tell you their ID, either by surfacing it in the UI, by automatically attaching it to a support request, or similar.
Afterwards, you can use App Center's search functionality to search for crashes by that ID: https://learn.microsoft.com/en-us/appcenter/diagnostics/search

Related

How to get facebook advanced permission on graph api?

I'm literally going crazy with the new permission system of Facebook.
I am developing a mobile game and I have the code working with the standard access and I would like to start the process to obtain the authorization to use live data but it seem the whole system is broken.
First on some end points like user_friends the Request button is greyed out, it says I need to complete a successful request and wait up to 24 hours, I made hundreds for months it's still locked.
Strange thing it says app review rejected, but I don't remember ever trying the app review and there is no history of it.
So I thought I would try asking for the more basic permission where the button is working, like email and public_profile and it says I must fix the Play store link before going LIVE because it is not accessible.
To fix the link I need to publish an open beta, why is this a requirement? I don't want to do it.
Strange thing I still have a draft of permission request and I have the choice of uploading an apk there, why is it not possible anymore?
Please help

Apple App clip - Is it possible to save contact details to phone contacts from App clips?

I'm looking for an easy way to store contact details from a webapp to iPhone contacts. The UX of this flow from a webapp is far from optimal, therefor I'm looking to utilize App clips in order to do so. From reading the documentation it seems like there is no option to save to phone contacts. Does someone know if this is possible?
Sharing data App clip documentation
Access limitation App clip documentation
Thanks
Long story short, Apple is severely limiting the ability of an App Clip to get at sensitive information (of which the contacts are one of the "sensitive" items)...won't know for sure till they start shipping iOS 14, but you can test it out by setting up a app clip that uses ABAddressBook to set up a new contact and see if it will work. Either A) it won't, or B) it will prompt for permission from the user.
How to use ABAddressBook to do that is explained in this thread
Unfortunately, the answer is still no as of March 2022. If you try to execute a CNSaveRequest, you'll get an error like:
Error Domain=CNErrorDomain Code=100 "Access Denied"
UserInfo={NSLocalizedFailureReason=This application has not been
granted permission to access Contacts., NSLocalizedDescription=Access
Denied, NSUnderlyingError=0x283981680 {Error
Domain=CNContactsFoundationErrorDomain Code=7 "(null)"}}
If you try to request permission, you'll get the same error. By the documentation, I thought maybe there was a chance you could write 1 contact (but not read contacts, thus preserving privacy), but having just written a little test app, that's not the case.

Parse & Swift - Preventing simultaneous logins - Parse Installation Object when user uninstalls app from phone

In order to solve a lot of problems I was having, I decided to prevent simultaneous logins by a single user. When a User signs into Parse, I check to see if there is an existing Installation with a Bool (isUserLoggedIn) set to true. If there is, the user is given a prompt to please logout of my app on all other devices before continuing. Once they do, they will be able to login.
This all working correctly.
However, I realized a potential issue. If the user logs into my app, and then deletes my app from their phone (before they logout), I never have the chance to set the Bool value in the Installation object to false. So, the user deletes the app, the Installation object (which contains their user objectId as well) still has the isUserLoggedIn Bool set to true.
When the user re-installs my app on their phone, and goes to login with their previously created account, my app won't let them login, because the prompt thinks that previous Installation is still logged in.
So, any ideas on how to solve this? I could solve it if I could get a persistent device ID, but apparently you can't do that anymore with iOS devices. Once my app is uninstalled, the device ID will change with the re-installation of my app.
I could also solve it, if Parse could delete the Installation object when the user uninstalls the app from their phone, but that doesn't seem possible either.
The last thing I thought of, was if there is a way to query installation objects with the users objectID, and for all of those returned, query the deviceToken for each device. Any deviceToken that is no longer valid, that must be the Installation object from the previous app installation, which I could then delete from Parse, solving my problem.
I'd really like to hear your ideas.
Thank you.
I ended up using Wain's suggestion from this question:
Handling Login on Multiple Devices using Parse iOS
I changed how I was tracking multiple installs (using the User class instead of the Installation class)

Facebook App Permission Getting Toggled Somehow

I have Facebook's SSO working properly in my iPhone app and most of my users have not been experiencing any issues. However, a small number of them have been reporting errors with Facebook Connect and not being able to create an account. After an email exchange with one, we determined that the app permission toggle under Settings->Facebook was somehow set to disallow my app from using Facebook.
I have since added an error message telling the user this might be the case but my question is how did this switch get toggled in the first place? It would seem that a user would have to manually toggle this switch, right? I also looked for an API method that might do this e.g. rejecting Facebook SSO the first time a user saw the dialog asking for permission; I could not find any such code.
Any ideas? I'm hoping this problem will solve itself with the error dialog I've put in but if possible, I'd like to remove this issue altogether.
As far as I know, using the native dialog with iOS6 and rejecting the permissions request (the first one, at least, not sure about requests which are asking an existing user for more permissions) will toggle that switch
If you need to debug, try uninstalling the app from your facebook profile (a HTTP DELETE request to /<USER ID>/permissions will do this, or you can do it in the facebook app settings), remove the iOS app, then install it and try to connect for 'the first time' again

How can I get the app store link to upgrade my app (iphone)?

I'm trying to prompt the user (once, I record it) to upgrade the iphone app if it is out of date. I've found a few sites that explain how to get the link to your app in the app store once it is already there. Here's one for example.
The problem is, all these guides require the app to be in the store before you can get the ID to link to it. This is a new app. Is it impossible to figure out what your app ID (and link) will be before submitting your code? Therefor it is impossible for your first version to have an upgrade link embedded?
You can link to http://itunes.com/app/App_Name, if your app's name is unique.
Your other option would be to fetch the update notice with an HTTP request instead of building the wording into the app. That'd let you present any message with wording you could determine on your web server, not in the code itself.