No Certificates are available provisioning portal - provisioning-profile

Today I tried to upload a new version of my app, that uses Push Notifications, and XCode showed and error that I didnt have any valid Distribution profile.
When I logged in the Provisioning Profile I saw that ALL my Distribution Profiles had expired, even though the last one, the one I was using for this specific app, was only 2 weeks old.
I tried renewing the profile from XCode but it gives this error No value was provided for the parameter 'certificateIds'. So I tried to make another Distribution Profile, but when I do so it doesnt find any Certificate Available.
I try to do another certificate, clicking on that button, the certificate is created, it appears as a APNs Production iOS but when I go back it keeps saying there are no available Certificates.
So I have no idea what Im doing wrong, I recreated the CertificateSigningRequest and still nothing.
I downloaded and installed the AppleWWDRCA but I dont know what to do with that, I installed it and that's it.
Any ideas? Im completly lost.

I'm experiencing the same issue. Did you found the solution ?
** EDIT **
I found the solution : I had created an APN certificate but the provisioning needed a classic dev / push certificate.

I was able to solve this by creating a Distribution certificate. I hadn't realized that my existing certificate was only marked as Development. To do this I went into Xcode > Preferences > Accounts > View Deatils and then hit the refresh button at the bottom left. This prompted Xcode to request a distribution cert for me.

I also found this question, and was kinda confused with the answers ;)
But I figured it out: You need 2 certificates: For your app ID, you need to create a certificate for push notifications, an APN certificate (you can do this by clicking edit on your app ID, enable push notifications, and click "create certificate" for production). This will provide you with an certificate for your push notifications.
Secondly, you need to create a sign certificate (don't know if this is the right term), for your app. So you click on certificates, click on the + icon, choose app store, and follow the wizard.
Now you can create a new provisioning profile by clicking the + icon in the provisioning tab, and choose "App Store and Ad Hoc". Now you see your distribution certificate and you can create a provisioning profile for signing your app for production.

For me the issue was that I didn't generate personal iOS Development certificate, and only had the APN certificate.
You need to generate this one from your XCode (XCode -> Preferences -> Accounts -> View Details -> iOS Development Signing Identity)
After that, my certificate was available to add during provision profile creating.
Hope it helps.

ok i had the same problem but basically you just have to go back and create a standard iOS development certificate. Don't click the APN certificate. It worked for me

For me this is worked. In the same window click on
create certificate-> select distribution -> upload CSR file which you have-> generate and download.
After downloading, double click on the profile which you just downloaded. Now you able to select provisioning profile in Xcode.

For me, the reason was that the "No certificates available" screen was secretly a loading screen. After waiting for ~1 minute, it changed to allow me to choose my Distribution certificate.

May be the certificate you created were APNs certificate.You should create a development certificate.
APNs certificate is only for the purpose of push related use, thats why its not enough to create a provision.That may be issue.

Related

Device Access Console - The project could not be created

I am attempting to integrate my NEST devices with Home assistant so following these instructions: https://www.home-assistant.io/integrations/nest/
I have created a google cloud project, enabled "Smart Device Management" and "Cloud Pub/Sub" APIs, configured OAuth Consent screen which is now in production and configured OAuth Application Credentials - which generated a client ID and Secret.
I have also paid the $5 for the device access console so can access this screen:
However when I go through the process of creating a project, inputting the OAuth Client ID and submitting, it will try for a few minutes and then get the following error:
Really not sure what I am doing wrong. Any help would be greatly appreciated.
I just encountered the same thing. I don't think it's you. The endpoint to actually create the project is returning a 503-Service Unavailable response. Likely a temporary issue.
I am encountering an issue as well
Marko seems to have discovered that it is on them right now
I had the same issue yesterday. This morning I logged out of the Drive Access Console and then logged back in with the same gmail account and my project was there.
I had this issue as well and I finally figured it out.
After spending more time than I care to admit on it, I realized I could create a project if I skipped the "OAuth Client ID" step. I was then able to go into the project and add the Client ID from there.
What happened is that I had been copy/pasting the Client ID directly from the Google Cloud Console. For some reason, copy/pasting directly from Google Cloud Console adds extra spaces to the start and end of the Client ID string. After I got rid of the extra spaces, I could create projects as expected.
I wish the errors were more descriptive.

Google Scope Authorizations Loop Endlessly When Previewing or Publishing Apps with Cloud SQL Database

My organization set up Cloud SQL as the default for Google App Maker about one month ago. In the last week, we have been unable to preview or publish apps that use Cloud SQL data sources, including the sample applications which worked perfectly before. The failure occurs during the authorization process. When previewing or publishing an app, Google App Maker displays a dialog stating "Deploying this app requires authorization". Next it prompts the user for their Google account and then requests approval for the necessary authorizations (e.g., "Manage the data in your Google SQL Service instances"). After approving the authorization, the prompts to authorize begin over with the dialog stating "Deploying this app requires authorization".
Observations:
We have repeated this problem on multiple different computers, networks, and four different user accounts.
In the SQL cloud console, our Cloud SQL instance shows new databases being created for each app along with new database-specific user accounts
All of the databases appear as expected when I log directly into the Cloud SQL database using phpMyAdmin
Other apps which don't use a Cloud SQL datasource work fine, including an app that uses a calculated data source which is hosted in the same Cloud SQL instance
The only errors in the Stack driver logs for the Cloud SQL database showed "INFO" level communication errors with the database (aborted connection...Got an error reading communication packets)
I'm unable to find Stack driver logs for the apps because I cannot preview or publish them (either option would provide a link to the Stack driver logs)
There are now approximately 20 databases in our SQL instance (mostly associated with simple app tests) and we have only used 1 GB of 10 GB of space in our SQL instance
I haven't seen any related problems on the Google Issue Tracker for Google App Maker
I'd appreciate any help or suggestions on what to check in order to resolve this issue.
I posted an issue to Google Issue Tracker and Google corrected the problem. They also provided a workaround if this problem happens again.
Here is the response from the Google development team posted on Google Issue Tracker: https://issuetracker.google.com/issues/145345198
It's great to hear your up and working again! We are aware of this issue and are working through a longer term fix. The specific bug appears to be related to some changes made in the Google Cloud session policy control that may have rolled out to your domain recently interacting with AppMaker in a way that was not expected. We've spent time diagnosing the underlying issue and we beleive we know the root cause. I suspect your domain admin did a version of the workaround below.
Without getting too far into the details, the specific bug is that for a Deployer of an AppMaker application, if the Google Cloud Session policy is set with any expiration time, the returned token AppMaker sees is invalid, triggering a loop in AppMaker trying to generate a valid security token. Historically, these session tokens never expired but recently there was beta feature launch that allowed domain admins to set them to expire. We strongly suspect your domain recently set this expiration policy explicitly and that's what is causing the bug.
The good news is that these policies are overridable per Organizational Unit and we have tested that OUs which have the original classic Never Expire setting do, in fact, allow AppMaker to work.
My suspicion is that your domain admin has reverted recent, local changes to your organizational policy under the admin.google.com console, specifically under Security > Google Cloud session control (Beta).
If this happens again, here the workaround we would recommend. Note you don't need to do this if you're currently up and working. You will need the help of someone with admin.gogole.com powers, specifically User and Organizational Unit powers at your organization. It is a slight increase in security risk but it restores some classic behavior that was standard until recently.
The summary of the workaround is to override the Google Cloud session control expiration setting such that individuals who need access to AppMaker deployments can have it. To mitigate systemic security risk, this is best done by creating a limited purpose Organizational Unit with just that setting different than the parent OU settings.
The workaround is to:
Contact someone in your domain with Admin powers for your Google for Business license.
Have your admin proceed to https://admin.google.com. The actions below need to be performed by a domain admin.
Under the Users section, identify the specific user account that needs the ability to deploy AppMaker Apps.
Identify the Organizational Unit of that Appmaker dev user and make a note of it.
Under the Organization Units settings, locate the Organization Unit you identified above.
Create a new Organization Unit underneath that user's current Organizational Unit with some descriptive identifying it as special w.r.t AppMaker. So for Developers, make something like DevelopersWhoAreAlsoAppMakerDevs.
Back under the Users tab, locate the user from step 3. Move this user into the new Organizational Unit you've just created. This change can take a while to propagate.
-Interlude- At this point, you've made a new Organizational Unit for just that individual and added them to it. You can certainly add multiple people to that OU, especially if they're already in the same parent OU. Use your discretion as to what amount of Organizational rework you wish to pursue. You may not be using OUs at all or you may decide to just turn off this control for the whole domain. It's up to you.
Under admin.google.com's Security settings, locate the Google Cloud session control (beta) settings.
Under this panel, from the dropdown menu on the left, locate the Organization Unit you just created.
Be sure to select ONLY the OU you intend to change.
Change the "Google Cloud Console and Google Cloud SDK session control" from expiring to "Session Never Expires".
Save your changes.
The account you selected in step 3 should now be able to deploy AppMaker apps.
It appears this OU change is only necessary for the deployer of an AppMaker app, not an individual user. Note also that if you have multiple AppMaker developers who all have different current OU settings, you may need to create multiple daughter OUs to avoid a sudden radical shift in OU settings for an individual account.

Sending pictures from photobooth to phone via WeChat

My boss has charged me with the task of finding how to integrate WeChat into our photobooth's "Total Share" section.
Our photobooths work under windows and their software is a mix of Java and a PHP web API installed locally, that then connects to a web service.
The intention is to give the user the option to, when their picture is done, get a copy of it via WeChat (I guess that by introducing it's phone number)
Through my searches I've found a WeChat JS-SDK, but that seems to connect sites you are watching on your phone with your actual WeChat app so it doesn't work in my case.
The other source I have found is the Official Account Admin Platform, but I'm not really sure if this would allow me to do what I need. As far as I've seen, the Official Account can send messages in response to a trigger (that would work for me, send a message when the user clicks on the button), but it also seems to need that they "subscribe" (in a way) to the Official Account, and secondly I'm not sure how can this be automatized.
Especial mention:
I'm a junior developer, so API integration is a bridge I haven't crossed yet, and as such I'm utterly lost.
Is it possible to get the functionality I require? If so, what are the steps to do it?
You don't need to make a fully fleshed tutorial to write an answer, just knowing in what direction should I go, and maybe some possible caveats that more experienced developers may be able to foresee, would be great.
Thanks.

Determine user credentials in shinyapps.io (not Pro)

I have built a simple app in shinyapps.io and I am bringing in data from a MySQL hosted table successfully. I would like to only show data that is relevant to the user that is viewing the app and hide data that does not relate to them. If the user has not logged into shinyapps.io then NULL will be returned and no data will be shown. From the documentation and search results, it seems like this can be done using session$user but only on Shiny Server Pro. I don't think this can be done in shinyapps.io, is this correct? If so, my app has come to a grinding halt as I can't go down the whole Linux / Pro route.
Thanks to Andy Kipp from RStudio for answering this via Google Groups.
"If you're running on shinyapps.io, and your application is set to private (under Users tab), when a person logs into your application the email address of the person who is logged in will be in session$user. We don't expose anything other then the email address. Again this is for private applications only. Private applications are available in the Standard plan and higher."
Good to know, took me a while to pin this down, thanks Andy.

Push Notifications for Apple Watch

From what I've understood (which could be completly wrong and therefore this post will make no sense), I need to create separate APP Id's in my developer portal for my Watch app/extension.
I did that, and I now have 3 app ID's and their complete related set of provisioning profiles up and running.
The archive works fine and I'm about to submit but, I see that because there is an app ID, I can link a PUSH Certificate (apn). Since the Apple Watch doesn't really get notified, but the phone does, do I really need to create specific certificates for the apple Watch ? And use their related .p12 wherever I would need them (parse.com for example) ?
Or can I simply ignore that and keep the regular phone certificates ?
Thanks
If you already have push notifications set up properly for your iPhone app, they will be delivered to the Watch automatically. You don't need to set up any separate certificates.
Docs: https://developer.apple.com/library/ios/documentation/General/Conceptual/WatchKitProgrammingGuide/BasicSupport.html#//apple_ref/doc/uid/TP40014969-CH18-SW1
Additionally, I have deployed a number of apps already and have first-hand experience.

Resources