testflight the app token for this app was not detected - iphone

Recently I have added some devices on Developer portal and try to upload the new build on test flight but getting this error
"the app token for this app was not detected"

It appears that TestFlight are presenting this message either in error or to push their SDK.
I can confirm that if you 'Ignore and Continue' everything works as per usual. I have verified that beta testers are able to install and open the app.

Check you token from testflight app
Add device identifier for test flight
// In application:didFinishLaunchingWithOptions
[TestFlight setDeviceIdentifier:[[UIDevice currentDevice] uniqueIdentifier]];
[TestFlight takeOff:#"9e5f8b26-358f-4a0e-b9c2-186d932b1187"];

Login to the Dashboard. Select the app you want to upload. Click on App Token on the left menu. You can get your app token from there. Then download the SDK. Follow SDK Installation Guide to integrate TestFlight to your app.

Go to Testflight.
Go to Apps
Go to your app name
Click on the down-arrow beside your app name in the top-right corner.
Go to edit info
Check the Token appears there
Compare the Token with your app token.
If they are same. Then wait for the cashes from Testflight. Otherwise correct those.
In case if you haven't integrated testflight sdk into your app.
Delete your app from testflight and upload it again.
To delete app checkout following snap.
Enjoy Programming!

Related

Flutter MacOS app constantly requests firebase_auth keychain dialog depending on which release created the keychain

As the title suggests, when I first submitted my app to testflight I noticed the dialog below. I found this issue on the firebase ios sdk repo. It should have been fixed. What I've done:
Updated to the latest firebase flutter libs. Specifically 4.1.5 firebase auth.
Enabled keychain sharing as described by the fix. I confirmed in the archive that the "keychain-access-groups" entitlement is present.
My observations.
When the firebase_auth keychain is not present, I can build the app in debug locally and it works fine.
With the keychain item now present, if I open a testflight build the dialog will always pop up until "Always Allow" is selected.
If I log out and log back in with the testflight build the keychain dialog no longer pops up for the testflight build. But now pops up for my debug builds.
If I update the app through testflight the keychain dialog comes back.
Any ideas how to avoid making the keychain dialog popup on testflight updates? I have not attempted to release the app because I don't want this happening in production.

Why am I seeing iAd's advertisements, like I did in development, in my production app?

My app just got submitted to the app store and I just downloaded it, I am getting iAd's advertisements just like while I was developing it. Will is this showing up on other peoples devices? Or just on the devices that I have in my developer account?
There is a possibility that you've got a development version on the phone and that wasn't overwritten by your app downloaded from app store.
So, just try deleting the app from your phone and computer, and then try to re-sync.
Usually, you will not see your iAd ads on a device where you have installed any provisioning profiles.
In any case, to make sure that everything is working correctly, you should go to: http://iad.apple.com, log in, and check the status of your app (i.e., click on the app name at the bottom of the Summary page where you land).
If everything is ok, you should see a status message like in the attached picture. If not, the status message will mention "test ads". In this case, get in touch with Apple by going to itunesconnect and clicking the "Contact Us" link at the bottom of the page. They will fix it quickly.

When sending a demo through TestFlight, do I have to create a new archive whenever I get a new tester?

I am going to send a demo of my project through TestFlight to someone.
To do so, I followed this answer: https://stackoverflow.com/a/11917884/555690, but I did something else as well: I asked for his device UDID and then added the device on my Apple Developer portal. After that, I created my distribution provisioning profile selecting such device...
... now someone else is probably going to test too. And other people as well.
I fear that I might have to add their devices to my Apple Developer portal, re-configure the provisioning profile, and then re-create the archive all over again.
Is this correct, or is it unnecessary to add their devices to my portal (and thus creating a new archive would also be unncessary)?
You dont have to update a build every time you want to add new tester. It is quite easy to add new tester for the existing build, all you have to do is add the device to your provisioning profile in ADC for your app. Then, download the profile to your computer. Now, comes the moment of truth. Go to the build, in testflight, to which you want to add tester. Then, in the left hand side you will see Permission tab,click there and then it will show you the profile and all the tester who currently have access to the build. Now, update the build with the one you downloaded earlier and then you will see the device in your list. Click on checkbox to turn the permission for the device and voila you're done. You could now distribute the same build to the tester.
Yes you have to add them to the profile in the dev portal each time, however testflight has a button, under Permissions, to update the profile for a build.
You can try uploading your new provisioning profile without having to archive and upload a new build.
You could follow any of the following steps whichever suits you but in my experience I would recommend Process 1 as I have found this more reliable.
Process 1:
You have the UDID of the tester.
Using ADP, add the UDID in the devices list and create a new provisioning profile.
Download the profile and update the same in you project.
Build and archive a new ipa.
Upload it to testflight.
Process 2:
Using ADP, create a new provisioning provile.
Download the profile and upload it in your testflight account in permissions tab.
refresh and you would receive an updated list of usrs on your provisoning profile.
Select the users and Voila you are ON.
What i have experienced while trying Process 2 is that sometimes when you try to download the app, it displays " you dont have permission to download" or "unable to download at this time" even though the user is present in the provsioning profile.
A work-around fix for this issue is that whenever you upload a new build or a provisioning profile, always clear the cahce or in exterme cases, logout and log back in.
Hope this helps.

No value was provided for the parameter 'appIdName' when provisioning

I've just enrolled in Apple's iOS Developer Program (account type: Individual).
In my Xcode organizer on my iPhone 4 device I click "Add device to provisioning portal" => Xcode asks my credentials => I enter them => I see "No value was provided for the parameter 'appIdName'." dialog window.
What am I missing?
Part of the process in Xcode's automated submitting of certificate requests is that it looks for a "Wildcard" app ID. If you're missing this (for some reason, it's created on some accounts automatically and not created automatically on others?), this automated process will likely fail.
To fix it, try the following:
1) "Revoke" any existing certificates you might have from within the developer portal
2) Create a new "App Id"; title it "Wildcard"; and enter only " * " (without any spaces or quotes) as the suffix.
3) Try the automated certificate request from within Xcode again, and it should now work
Cheers!
I'm getting the same issue in Xcode. I think it's related to the wildcard app ID that Xcode creates for you. There seems to be an issue with that process that then cancels the device addition process that you're trying to complete.
You should still be able to add the device via the iOS Dev Center. Once logged in, go to the Provisioning Portal and you can add the device there.
Not perfect I know, but should allow you to start building apps and testing on your device until the Xcode issue is resolved.
You could avoid this problem by making App ID with wild-card id in iOS dev center.
I guess Organizer could not follow the updated policy related to App ID in iOS Dev Center/Provisioning Portal.
App ID with wild-card("*") is seems to be restricted in some function,
for example, Push Notification, Game Center.
and
developer also seems to be required to make sure the security option for the app related to the App ID.
Actually, my initial goal was to be able to test my app on iPhone device. Clicking "Add device to provisioning portal" still results into the subject error, but anyway my iPhone device have been added somehow to the Provisioning Portal and now I can see my app on iPhone (I haven't even tried to add it via iOS Dev Center). My guess is that this procedure takes multiple steps to be completed, and only the last of them still fails now, while the rest of them do succeed.
In my case the provisioning profile for that application was invalid, then I did the following steps:
Login on Developers Portal
Click on Certificates, Identifiers & Profiles section.
Go to Provisioning Profiles, in the list I realized my app profile
was invalid.
Click to edit it and selected the corresponding certificates (all)
and devices (all).
Download the profile and un Run. Issue solved.

how to avoid twitter already authorized on the device using share kit in iphone sdk

I used sharekit for twitter integration in my app. That works fine on the simulator. But on the device , for the first time it allows me to login into the twitter . Now i deleted the app from the device and create new build and deploy that into device again. Now it shows already authorized for twitter , not able to login even i deploy the new build on the device
Any ideas..to avoid this.
Thanks in advance..
The data for Sharekit's Twitter implementation are stored in the user's keychain when you run on the device. Because of this, deleting the app will not delete the token for Twitter stored in the keychain by Sharekit. When you delete and reinstall the app, it's still reading from the keychain and picking up the old credentials. You need to implement the logout functionality. The implementation is pretty simple. You just call
[SHKTwitter logout];
Check out the ShareKit documentation for details and options.