SiriKit queries trigger web search - swift

Any request that I make to send money to a contact through Siri triggers a web search, passing the voice input to Safari (i.e. "Send $100 to Bob").
I have enables Siri in my app capabilities and have added the INSendPaymentIntent to my info.plist files.
This even occurs for UnicornChat (Apple's sample project) where iMessage is prompted when attempting to send a message through UnicornChat. The extension UI for Unicorn Chat appears briefly and is then overridden by iMessage's.
Could this possibly be an issue on Apple's side, or is there a potential fix I can make?

My Sirikit extension was working until yesterday, now I'm having your same behavior. Probably they're preparing for beta4.

We were having this same issue in the app I work on. The way we got it to start working properly is to make sure you always include a valid paymentRecord with all completions that take an INSendPaymentIntentResponse as a parameter. paymentRecord is an optional property, however, the discussion notes in the documentation state this...
Always assign an object to this property that contains as much
information as you have about the transaction. Siri communicates this
information to the user during the confirmation phase and after your
Intents extension handles the payment.
https://developer.apple.com/reference/intents/insendpaymentintentresponse/1638625-paymentrecord

Related

Smart Home & Touch Controls: visual cards never update after successful Execute commands

According to the documentation, visual assistants and the Google Home app display graphical interfaces for certain traits without any development work.
https://developers.google.com/actions/smarthome/create#touch-controls
However, I have implemented a smart home action which uses the brightness trait to dim and brighten a users lights. I am succesfully reporting the states of the users devices to Home Graph after the original sync and every execute request but the visual display never seems to update after a successful Execute command.
Has anyone experienced anything similar?
Updating of touch controls is dependent on a successful implementation of the report state feature. I would recommend using the Report State Dashboard tool to validate that your calls to the HomeGraph API are successfully making it all the way to update the expected device state.
If you are able to validate the HomeGraph updates using this tool but are still not seeing UI updates, please file an issue.

Password login for ios app

I am currently developing an app for a company that is in a very competitive field. I have finished all of the features of the app that they requested except for one, making it somehow protected from their competing companies to download and use. I thought that I could set up a UIViewController with a password field that would check against some kind of database, but I'm not sure how to do the checking against a database part nor the practicality of it, and was hoping I could get some ideas on how to do this so that other companies couldn't steal and use this app without a password or something that changes like every 30 days or something and is kind of like an activation code.
Review the WWDC 2012 video "Building and Distributing Custom B2B Apps for iOS". I'm unsure if your app is in this B2B classification, it seems that it might be from your description.
What I ended up doing (if everyone needs a reference) was setting up a server with an SQL table that has pass codes in it. Since apple does not allow for any sort of system that requires you to "buy the app from outside the app store" I made a dumby username field (shame on me) that takes any value you like and then requires to have a pass code that fits. Once the pass code gets authenticated with the web server in a json sql request (there are plenty of api's to do this with) it comes back and sends the user to the first screen and sets a value in a plist with how many days of use the user has left. Whenever the user opens up the app it checks to see if the date is different from the last date logged in (saved in the same plist file) and if it is different then it calculates the difference and deducts that many. When the count reaches 0 it sends the user to the pass code authentication screen again. A bit complicated but an effective method of getting around Apple's restriction on not having a sort of pass code system like this. Thanks for the answers, unfortunately enterprise did not work for this company since they needed to be able to distribute the app to as many 3rd party members as they wanted to without having to worry about them leaving the company for other suppliers and remote management of the app (I.e ability to remote uninstall) was also not an option. Hope this helps someone someday!

Prevent google calendar from creating duplicate entries when a remote icalendar file changes

There's a lot of events happening all the time on my university campus, and, together with a few other students, we thought it would be nice to provide the event schedule as a calendar. So organisers register their event on the intranet, and it gets added to an icalendar file which people on the campus can subscribe to.
This works great when people load the calendar url on their iPhones, but it doesn't when loading in Google Calendar. We have noticed two problems:
When you subscribe to the calendar and then log out and back in, events are no longer visible. Sometimes, clicking refresh fixes it. The vents do not disappear from android devices associated with your account.
When an event is removed from the icalendar file (eg. if it's cancelled), it still remains on the android devices that sync with any google account that subscribed to the calendar. New events sync fine, though, so it's not that the sync didn't happen.
Do you know how I can solve these two problems? I've noticed the STATUS:CANCELLED property in VEVENTs, but it doesn't seem to work when the calendar method is PUBLISH.
Thanks!
PS: If you can suggest a way to test changes faster that waiting for Google to pull the changes from the server, it would be great; right now, I have to wait about 6 hours between each test...
my understanding is that removing it from the file is not the way to cancel an event. One must ensure that there is a UNIQUE identifier to match any changes.
Also must follow the spec for cancelling/changing an event.
See How to cancel an calendar event using ics files?
If all of that is correct, then the various applications that 'subscribe' to a calendar should in theory update the event status when they read the updated file. Unfortunately the speed and frequency of that is up to that application. (NB: note also difference between subscribe and "import")
Yes I have noticed that google is slow to update sometimes. Only thing I can think of is use another application where you have control perhaps over the subscription update frequency to test if the way that you are cancelling an event is working. Once you see the cancellations happening there, then resume testing on google (I have noticed Google is more pedantic than some apps, so you may still have to work to get it 100% working on google.)
Hope that helps!
I've tried the suggestions but Google Calendar only ever adds another event. The iCalendar validators say that the files I generate are valid, and iCal on the Mac removes an event if it has cancel information. But neither Google Calendar or Outlook do. Rather frustrating.

How to "give users the ability to turn sharing off/on globally"

I sent an application for review at Facebook and received the following response
Status: Changes needed
Unfortunately, your article.read built-in submission does not meet the read requirements specified at: https://developers.facebook.com/docs/opengraph/actions/builtin/#read. You must give users the ability to turn sharing off/on globally as well as remove an article that was shared within the app. In addition, read actions should only be generated when there is a strong indication that the user is actually reading the article. Please re-submit when these features have been added to your site. We appreciate your patience. Note: If you are creating an aggregation based on the object, you need to add 6-7 unique sample objects, and then create a corresponding sample action acting on each of these unique objects. (You can not just create 6-7 sample actions pointing to the same sample object). Submission Checklist: https://developers.facebook.com/docs/opengraph/checklist
Please make changes below and resubmit for review.
But I don't know how to "give users the ability to turn sharing off/on globally".
The way I did it for my open graph action is to have a setting in a profile where they can toggle it off and on. If the toggle is off, I do an IF statement to not display the code that sends the Action. Then obviously I display that code if the toggle is set to on.
Without knowing more information on your system or all that, I can't really give more specifics on how to actually do it...

How to get call history, call receiver/sender name from iPhone in Objective C?

I am to work on an application, where I'll have to fetch details of the call history of the last calls in the iPhone, name of the person who made a call or to whom the call is made.
My problem is I found so many applications providing such details,but am not able to get any source code or some solution pertaining to this.
There is no legal way to accomplish this and still be able to distribute via the App Store.
The call history is stored in call_history.db, this db is not accessible.
Apple restricts call log usage, so you can't access/change the mode like this unless it is a jail-broken iPhone.