Question regarding application approval - iphone

i have two questions
Apple says there should not be any button or menu item which is not yet implemented. In my application in home screen, i have put one button and background image which feels like there are other 3 inactive buttons(greyed) though those are not active ones. I did this to show steps in application. Is that ok?
I have used core location and other server access. There are methods for example
(void)locationError:(NSError *)error;
for core location and NSURLConnections's error method. My application simply shows view which pops up when there is no connectivity(with my server)Is that ok.
Thanks

1) Its perfectly fine. You have a defined flow which doesnt confuse the user's. All the active buttons should be able to perform some action.
2) Its perfectly fine to display valid error messages to user's. Infact its a recommended practice.
PS: Finally it depends on the reviewer, but they give reasons if they reject the app and you can always appeal with your explanation. Be sure you mention about the functionality in the review notes.

Related

Maneuver issues in Turn By Turn Navigation with HERE maps in Flutter

Thanks in advance.
We have to use HERE map's Turn by turn navigation feature in one of our Flutter application, we have added billing in the developer account and have created the necessary keys.
When we try HERE map examples they have provided, we get everything except maneuver instructions that shows the user when to turn right/left/go straight for some distance etc.
I'm new to this and I have no idea how to get this, we never get events on the listener and it only shows updating there, am I missing something ?
this is how it looks right now, Updating...
I think we should be getting the progress here, but we are not getting it here...
_visualNavigator.routeProgressListener = Navigation.RouteProgressListener((routeProgress) { }
Please look into the provided example app. It shows here how to get the maneuver actions.
Your screenshot shows a different app, so make sure everything works with the example app, at first. The app offers to run a simulation mode. This should work. If you run the example app with real GPS updates, you may need to go outside and move to get location updates. This should also work.
If this still does not work, it could either mean that your device has an issue with getting GPS locations. Some iPads, for example, lack support. Or that you have disabled getting location updates. You can cross-check this when trying the positioning_app example from the same repository that shows how to get location updates.
A last point may be to clarify what events you get and what you miss: There are multiple event listeners providing real-time information during guidance - if you have only an issue with maneuvers, then most likely you can solve your issue by following strictly the code of the example app.
Note that previous HERE SDK versions, prior to HERE SDK 4.13.0, only provided empty maneuver instruction texts during guidance when they have been taken from the route instance. Make sure to take this information from the VisualNavigator instead.

Deployed Google Action (production release) cannot be found on Google Assistant

I deployed the production release for my first Google Action. But even 2 weeks after the approved deployment I can find my action neither in the Google Assistant store nor directly via voice activation.
The test versions ran fine and was found every single time. So the invocation name should not be the problem. When I use the generated action link from the console I find the action in the store and can send it to my Smartphone, where I can start it with the sent link. But after closing the app I cannot open it again via voice.
I used two different google accounts on different devices (all are set up in the right language: german), but no chance.
Is this a mistake on Googles side or do I miss anything? In this state I have to open the action every time over the action link which is useless for a voice app :)
Here is the link to my action: https://assistant.google.com/services/invoke/uid/000000c77f740137?hl=de
The invocation would be for example: "Mit Erfolgs-Fans sprechen" (like said, on the test this name was found every single time)
This happened to me too. Though it wasn't in production when I faced it. I was also not able to see the action in Assistant-enabled devices (Google home app/assistant).
It is probably not the invocation name issue, it is just that the action is not being made visible across all the platforms. Some of the solutions I tried were-
Clean cache of the device
Create a new action with everything just the same as in your current actions. It worked once for me!
Go to GCP and under your project, try to understand if there is any pending activity.
Once I created so many actions because I wasn't able to see it that after around 30 days all those actions started to become visible. So, if you can wait that is fine.
In the end, do contact their support with all the relevant information. I hope they should be able to help.
Thank you!

point-of-sale-api iOS callback from FileMaker Go

I'm close to getting my homegrown POS app to work with Square, but I'm missing something simple and can't seem to turn up an answer. I'm using FileMaker Go as the app, but I don't think that that is relevant to my current proof-of-concept issue. It may be relevant to other issues later (callbacks).
In my point-of-sale-api settings, I have:
com.filemaker.go.17
for the Bundle ID, and
create-workflow
for the iOS App URL Schemes, which seems to be the first piece of code that Square allows me to save. Any prefixed item such as shortcuts://create-workflow gives an error without description (I'm hoping that Square will trigger a workflow as a test in this POC).
I'm hoping to just trigger safari or workflow/shortcuts with the callback as filemaker go doesn't directly accept the callback response without a helper application - which I'll eventually try.
Any thoughts on what I'm missing?
Thanks tons!

My 'app name' not accepted in Actions on Google simulator, only "test app"

I'm setting up about my 10th (test/demo) Action on Google, and the simulator ONLY supports me starting my brand new app via "Talk to my test app".
How do I get to the point I can say "Talk to {my app name here}"?
IN THE PAST, after setting up all the Action details (via 'Overview' screen), and clicking 'TEST DRAFT', it usually resolves and the simulator starts suggesting to me "Talk to {my app name here}".
But this time it's not happening. It's stuck on "Talk to my test app", and has been for almost 24 hours.
Does anyone know the magical incantation required to get the Actions Simulator to accept invocations using my actual app name?
I'm using Dialogflow, which was all setup using the Jovo framework actually - using 'jovo deploy' to stand up the Dialogflow agent and Actions config. I can't see that Jovo would have anything to do with the issue here, but you never know with software! All the config in Dialogflow and Actions looks good to me.
What you've described sounds like it should work, but it sounds like you should double-check for any errors.
In the Actions Console, make sure you don't have any errors indicated on the overview screen. If you do (or even if you don't), click on the Edit button for stage 2: App Information.
In there, check the error messages to make sure they're not applying to the name or pronunciation. Make sure both the name and pronunciation are valid and accepted.
If you're working in more than one language, make sure these are set ok for all the languages you have set.
Test it from the Simulator link on the left navigation instead of going back through Dialogflow. They should do the same thing, but it sounds like it is possible that isn't taking in this case.

Cocoa invoke Service, do not overwrite Pasteboard

I have created a Service in Cocoa which grabs the selected Text and sends the result back to my Main App, so i can handle it there ( Couldn't find any other way to get current selection), now that the Service works and appears in the Service Menu, i tried to invoke the Service from my parent App to get current selection, after some goggling around i found this snippet:
NSPasteboard *pboard = [NSPasteboard pasteboardWithUniqueName];
[pboard declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:nil];
NSPerformService(#"PCB", pboard);
This one works as far as it triggers my Service, the Problem here is it redefines the NSPasteboard, so my service doesn't get the selected text, but a NIL Value Pasteboard which is blank, how can i prevent this?
And does someone know how to convert a .service bundle into an .app bundle that performs itself and sends the data and kills itself after finish?
thx for help
You want to get the text that is selected in another application, right? Probably in the front application, while your app is in the background.
For this to work, you'd have to have the Service be invoked by the front application. If you invoke it from your app in the background, it can't access the front app's text field that contains the selected text. Instead, it'll try to find a text field in your own app's responder chain (I believe – someone correct me if I'm wrong on this detail).
But for your code to run in the app's process, you'll have to inject it somehow, which is - out of security concerns - mostly prohibited by OS X, and especially with sandboxed apps.
There are ways to accomplish code injection, one that 1Password and other popular tools use it through an osax extension. But that's an entirely different topic.
Once you have your code running inside the other app's process, you should be able to copy the selected text (provided it's a Cocoa app) with [NSTextView writeSelectionToPasteboard:types:]. I haven't tested this myself, though, so this is just an assumption.