Xamarian deploying to device - xamarin.ios

I have never deployed an app for texting in a real iOS device, only on an iPhone 7 plus simulator. I've watched some tutorials on how to do it and this is what I have done so far.
I have made an iOS Development Certificate. I made an App id, connected a device and entered the UDID. Then created a new device and at last I have made a Provisioning Profile with the iPhone 7 Device connected. The iOS development certificate connected and the App ID connected. After I did all of that, I continued to watch all the tutorials but there seems to be a change which I can't figure out.
As you can see, in the picture above there is a view detail button which you click then download your Provisioning Profile to your XCode, but for me there is no View Detail button. Instead it looks something like this.
So unfortunately, I don't know what to do from here. I tried going to Xcode > Window > Devices then right clicked on my device then it looks something like this.
So I click Show Provisioning Profiles, press "add" then add my Provisioning Profile. The next thing I did was go back to Xamarian went to info.plist, double clicked it and then entered my Bundle Identifier.
Then right clicked the 2 Calculator file, went down to Options and then set everything up, as you could see in the picture. Then I press run but it doesn't seem to work
This error message comes up:
I am pretty sure I have done everything right, but there seems to still be an error. The only possible bit I think may have gone wrong is when there wasn't the "view detail" button, so I did it a another way. Maybe the problem is I downloaded the Provisioning Profile on the iOS Device, but not in the Xcode mac or something?
I don't have a clue what I did wrong and have tried everything about 5 times but it still didn't work. It will be great if someone could help.
These are all the Certificate and stuff I did in the App development section.

Not enough reputation to comment, so I am going to take a shot in the dark here. My question to you is, did you download the certificate to your MacBook before or after you added your mobile device to it? Your Mac has to know of which devices you have allowed to develop on, so you need to make sure your .mobileprovision on your Mac has that UDID in it.
You can check if your .mobileprovision is added by looking in "~/Library/MobileDevice/Provisioning Profiles" and sorting by "Date Modified" to see if you have a fresh one updating after you downloaded it from developer.apple.com. Xcode will assign a GUID to the name so the provisioning profile will not have the name displaying on the website.
Also, the error possibly looks certificate related. Is the certificate valid and trusted in your keychain? I noticed no mention of adding the certificate to the "Keychain Access" application.

Related

Acumatica 2018 R2 Mobile - Locks up when attempting to add a new screen

After Summit 2019, we were excited to start working on updates for 2018R2, and I practiced adding mobile screens for our custom modules in my sandbox.
We decided to fully refresh our DEV instance and reapply our customizations. No problem there, but when I try "Add New Screen" in the mobile section and then try to enter my screen number, the mouse goes to "waiting" and I can't add my new screen. Eventually, I get a "timed out" message. Same problem even when trying to add a standard Acumatica screen. Everything else in the project and Acumatica web interface seems to work fine.
Any ideas on where to look for what is preventing adding a new screen?
I'm on Build 18.209.0021.
It seems like an Ajax issue in the customization project editor. After callback to server the client page javascript is stuck waiting on the server response. You can try using Chrome browser which has less of those Ajax hangs and update Chrome if you're already using it.
There is also a known issue specifically affecting 2018 R2 Mobile that leads to generic error Sequence contains no matching element on mobile detail page. Based on your question this doesn't seem to be the issue you are having but you can give the workaround to this bug a try:
Open Generic Inquiry screen (SM208000)
Select FS-ServiceOrder inquiry, uncheck Expose to mobile and save
On Apply Updates screen (SM203510), click on Restart Application
This was identified by Acumatica support as a bug. Upgrade to a new release for the fix.

Actions on Google - My alpha tester could not access my action

Initially, I built up a test agent on DialogFlow console according to the document, and it works well on the Actions On Google which is a simulator of Google Assistant on mobile devices.
Then, I deployed it through the Release in the left menu as you can see the pic attached.
deployed successfully
After that, I added some Alpha Testers including my colleague and sent my opt-in link to my colleague, besides, I granted them all the viewer permission in IAM.
However, problem appeared. It didn't work well on my testers’ phone(IOS 10+) but only worked well on developer's account(mine). When they opened the link I sent to them, and clicked send to devices, then clicked the notification on top of the screen.
send to device
The result is shown as below.
Google Assistant didn't respond to "Talk to mytest app"
In my case the command was set as "Talk to hello qad", and it did work well on my phone used the developer account.
developer account works well
If my tester input the text "Talk to hello qad", it just replied some direct searching results not hello qad diaglog.
To recap:
My action has already been in "deployed" status for couple of days
I've added the tester accounts in whitelist and give them "Viewer" permission in IAM
Testers could see the action directory page in devices by open opt-in link, but they couldn't see the "I'm In" button and couldn't access the action
Appreciate for any help or advice
During my project development, I also faced a similar issue. This is how managed to do testing:
Made sure all Google Accounts were created with the US as the country.
Through IAM, share AoG project with the tester's Google accounts.
All testers to open the shared simulator link in their browsers. This is important!
Test the app on browser first using the simulator.
Once tested, use any device with the whitelisted Google Accounts.
US country was required for my use case as I was having Transaction API in my Assistant. I had to also mock my location to the US on mobile for testing US specific features.
See if the above steps help you.
I contacted Google and this is what they said:
You have to copy the link to the notes app, and then click it and in the prompt, choose “Open in Assistant”.
Full text:
Please ensure that the opt-in link is opened in Google Assistant app and not in a browser. At this time, Google Assistant app is only available in USA. For opening an opt-in link in iPhone or any iOS device, please follow the steps below:
1. Download the Assistant App in App Store
2. Log in using the included account for Beta testing
3. Copy the opt-in URL to Notes app
4. Hold press the opt-in link then select 'Open in "Assistant"'. Google Assistant and App page in the Assistant Directory will be displayed.
5. Scroll down the page until you see the "Become a Beta tester" section
6. Click the I'M IN button
7. Test the Action
This does not work for me, probably because I am not in the US. However, the app is of course available here.
I ran into a similar issue with Google Actions/Dialog Flow. Here is how I resolved it...
Share the app from within DialogFlow to the test user
Copy the current DialogFlow URL from the address bar
Launch an Incognito Window
Paste the DialogFlow URL from Step 2 in the address bar
Log into DialogFlow using the test account
At the Standard Google Account Access Prompt Allow the access so your Google Action can talk to DialogFlow.
I couldn't find this documented anywhere and wasted about 8 hours figuring it out.
For me it only worked after I shared with the user the link to test on desktop that look likes: https://console.actions.google.com/project/XXX/simulatorcreate?isDeepLink the one you can get the the console menu on the sharing icon.
I asked him to login with same google email he has opted-in in Google Assistant and
to verify if when mouse over on the devices icon on the menu he would see "Testing on Device: Enabled
You currently are able to test your Actions on all
Assistant devices connected to "xxxx#gmail.com". "
Then he could invoque almost right away the alpha version of the BOT.
All that considering that he has already clicked on the opt-in link, I had added his emails as a Alpha tester and I had also added him as a Viewer on Permissions at the console admin https://console.cloud.google.com/iam-admin.
If you are a developer of the project, the test version is enabled by default on your device. If you want to access the alpha and beta versions, make sure to disable the ‘Testing on device’ option on the Actions Console simulator.
Add users before deploying alpha release
I feel obligated to copy dedman's comment on your question here, since his solution worked for me and is the only one directly addressing the problem at hand: an alpha release is not available to testers you have added after deploying the release.
As stated in question, you first deployed the test version and then added alpha testers. You might have to publish new alpha version "after adding the testers" and then wait till you get "deployed" status on the new alpha release too... – dedman
I was encountering this exact problem with the Alpha release of my Action, i.e. assistant not responding on alpha users devices, even though I had deployed the release, shared the opt-in link with users and had them click on it to opt-in. Deploying a new alpha release after users had clicked the opt-in link solved the problem and the action is now responding correctly for all users.
IAM Viewer status is not mandatory
By the way, I can also confirm your suspicion that "Viewer" permission in IAM is not needed for alpha users to have access to your release - they only need to opt-in before you deploy a new release.

Chromecast not available for testing

I added my Chromecast device on the "Google Cast SDK Developer Console" and it's showing as "Ready For Testing" on the console. Unfortunately, my device isn't showing as available when I'm launching from an un-published app.
Additionally, the remote debugger isn't loading at http://[ip]:9222
Any clue on how to resolve? I've tried removing/adding the device again and rebooting it a few times.
Make sure you have entered the correct serial number (take a photo and enlarge it since it is easy to read it incorrectly) in the dev console. Also reboot your chromecast to read the config again. If it still doesn't work, contact our help center for further assistance.

Cannot get my chromecast into developer mode

I still cannot get my chromecast into developer mode. I tried compiling the sample android app and my chromecast doesn't appear in the list of devices. I have indeed checked "Send this Chromecast's serial number when checking for updates" and rebooted my device. I even let it sit overnight to give it time to contact Google. When i got to http://[my chromecast ip]:9222 I get connection refused. I can ping it though. And http://[my chromecast ip]:8008/apps/ returns an XML response.
When I first sent the request to Google, they said the whitelist was backlogged but shortly thereafter they said the backlog was cleared.
Any ideas besides the fact that maybe whitelisting didn't work on Google's backend?
Even I had same problem earlier
In earlier version of chrome-cast app (for android) there was an issue Send this Chromecast's serial number when checking for updates is uncheking always, So I removed that app and again installed new version. That bug was removed now. OPtion is by default Checked.
If it doesn't work then try to use other device. Surely that will solve your problem

Provisioning profile problems

Whn I try to upload my app, I get this error in Application Uploader "Application failed codesign verification. The signature is invalid, contains disallowed entitlements, or it was not signed with an iPhone Distribution Certificate.".
If I open MonoDevelop, properties and select "iPhone bundle signing", then I see a "Provisioning profile", but if I click another topic (eg Crash report) and go back to "Provisioning profile", then it suddenly says "Unknown" and a guid.
How do I tell MonoDevelop to use the correct Provisioning profile?
I deleted some old profiles (in Organizer), but they still show in MonoDevelop.
Unfortunately the "provisioning hell" created by the Apple signature system is made even worse in MonoDevelop.
There is no provisioning manager, no way to setup and associate all the provisioning profiles and the keys to a specific monotouch app. MonoDevelop lacks a wizard to automatically create or guide the user in the creation, download or backup of the right profiles, keys and appIDs.
The best way to know if a profile or a key is wrong, expired, incompatible with an appId, or rejected, is to check all of them manually in the XCode Organizer (you can find it in the XCode "Window" menu).
Once in Organizer, you need to go to click on the LIBRARY -> Provisioning Profiles section on the left, and then click on the Refresh button to synch your profiles with apple server (if you have those on file or you are on another dev computer and you have to install only selected profiles, click on the Import button and manually select the files).
Then you need to attach your ios device and when it appears in the DEVICE->your_iPhone_or_Ipad name.. you need to drag and drop the provisioning profiles that you need from the LIBRARY->Provisioning Profile to the DEVICE->your_iPhone_or_Ipad_name->Provisioning Profiles...
Many things can go wrong anyway, especially mixing old profiles with the new profiles supporting iCloud or some other advanced app features. There is no way to know if a bundle id is valid, if the entitlements are allowed, if a profile or an appID is enabled or not to use iCloud, Notifications, IAP, etc., or if it's registered for Developer, AdHoc or Distribution, and what product id strings it's compatible with. You need to go by trials and errors. Even the simple creation of an ad Hoc version of your app enabled for a trusted remote tester is a long and perilous road. There is no users and testers profiles manager in MonoDevelop, you need to remember what goes with who every time.
If you are on a different developer machine, you also need to install the registered developer keys in the local KeyChain (I suggest to do a backup of those keys somewhere: if you lose those keys, you will be unable to update your app in the future!!).
Let us hope that Xamarin will add a profiles and keys manager soon.
#Emanuale mentions alot, but he is going the long route on a lot of these.
There is a simpler way to go about everything. Here is the cut and dry approach:
Login to the provisioning portal on the web
Create an App ID for your company as "com.yourcompanyname.*"
Create a provisioning profile for this app ID for both development and distribution
(I would also recommend to delete any profiles you don't need)
Open XCode->My Organizer, and press the refresh button in the bottom right corner (you will see all your profiles from online appear)
Deploy your app to the device from MonoDevelop (make sure your bundle ID is com.yourcompanyname.yourappname)
This is the simplest way to go about this. No need to mess with provisioning profile settings in MonoDevelop, the defaults should work.
The only gotcha is if you need to support push notifications. The com.yourcompanyname.* profile won't work, you will have to make a profile specific to each app in this case.
Great answer jonathanpeppers! Just a 2c, now XCode->My Oganizer is Preferences->Accounts
If the accepted response doesn't help, you should also ensure that your Signing Identity matches the Provisioning Profile you're using, and that it has a private key. These can be switched up if you have multiple Signing Certificates installed, and you won't be able to tell the difference from Xamarin Studio. See
https://stackoverflow.com/a/37856762/660194

Resources