How to include iOS8 extensions when using a custom share UI? - ios8

There is any way to access sharing extensions without popping the default UIActivityViewController?
I couldn't find one, but asking just in case.
In case not, i have another question.
How are you planing to adapt your app's custom sharing interfaces to this restriction?

You cannot access Share/Action extensions without using UIActivityViewController. In iOS8 sharing area of the activity view controller is the only entry point for share extensions.
From Apple docs.
Each of which is tied to an area of the system, such as sharing,
Notification Center, and the iOS keyboard. A system area that supports
extensions is called an extension point. Each extension point defines
usage policies and provides APIs that you use when you create an
extension for that area. You choose an extension point to use based on
the functionality you want to provide.
The best you can do is to provide a share menu with two options to launch app's custom sharing interface and UIActivityViewController. Bad UX but I don't know any other way.

Related

xamarin cross platform map with turn by turn

We have a need in our app where the user will get turn by turn navigation to a location then need the ability to tell the app, "hey I'm here, don't need the turn by turn anymore."
Obviously I'm trying to stay cross platform. I tried this control which extends on Forms.Maps:
https://github.com/TorbenK/TK.CustomMap
It's closer, but it doesn't do actual turn by turn, it draws a path between 2 pins then exposes a list of instructions with no location tracking, so it won't fit the requirement.
Then I found the openuri method here:
https://developer.xamarin.com/recipes/cross-platform/xamarin-forms/maps/map-navigation/
That works GREAT. The only issue is the application completely disappears. I get this is expected behavior from openuri, but I can't find any other way to get the full on turn by turn guided navigation. Is anyone aware of any way I could use guided navigation and expose a button, or anything really, like a button that says "Dismiss Map" and returns to the application? I'm open to other suggestions as well.
Thanks.

Sharing images between iOS8 containing app and Custom Keyboard

What is the best way to send images between the containing app and a custom keyboard?
is there a best practice that apple talk about?
is there a hacky way that apple will hate?
is there a framework already that somebody built in github that helps this?
thanks!
You can save images in NSUserDefaults, see Save images in NSUserDefaults? . And since you have access to NSUserDefaults from the keyboard and the app, it works. See my answer in Can a custom keyboard extension identify a user of my companion application in any way? .
Note that in order to enable the sharing of a defaults container you have to follow Apple's docs in the App Extensions programming guide.
It's a very simple and effective solution, but I would only recommend it for a few very small images like icons, etc... Don't make NSUserDefaults a repository for your camera photos!
If you want to do more complex data sharing, I would contend that a custom keyboard is probably not the correct structure.

Share picker like "Share page" in WP7 internet explorer

Is there any way I can get a share picker like the one seen when you share a page from Internet Explorer? It allows you to choose from Messaging, individual emails, or social networks.
This msdn site lists several individual launchers (like social networks, email), but not the one higher up the chain?
Is this possible?
Thanks
No - you have to write your own.
The two best options that I found are:
1. Write your own using the primitive Popup class.
http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.popup(v=vs.95).aspx
Use the toolkit ListPicker to simulate such a popup.
http://www.windowsphonegeek.com/articles/listpicker-for-wp7-in-depth
http://silverlight.codeplex.com/
(BTW: I am using the Popup and so far am very happy. Took a while to get it just right, but it's good once you do)

Is it possible to add custom Data Detectors to OSX Cocoa applications? (such as Mail.app / Safari)

As the title suggests...
Is it possible to add custom Data Detectors to Cocoa apps?
If so, a gentle nudge in the right direction would be great.
Note: To be clear. I want to add new detectors to currents apps. I am not writing a new app.
Thankyou
W
It's not even possible to build a custom data detector on anything but iOS 4. NSDataDetector is only available on iOS 4 and above.
If they existed on OS X and were a plug-in class like Spotlight importers, that'd be a nice feature. Perhaps filing a request at bugreport.apple.com would help it along?
Later update
I think the reason this hasn't been opened up with an API is because they're only meant to find common data (contact info, dates, URLs) for which there is only one (or just a few) uses. That is, contact info can be stored or used in "the" system-designated app. URLs can be auto-highlighted so they're linkable (clicks invoke the system-designated handler - Safari, an app registered to a protocol, etc.). But there's only one direction to funnel those actions and the endpoint is always a major "convenience app" meant to manage this common information (contacts, calendar, browser, email app, phone app...)
On the other hand, consider app-specific information. Data formatted a certain way for use with one app or platform might mean something else entirely to another application. In fact, this is rather common. So what happens when a string like %%SOMESTRING%% is detected? To one app, it might be a placeholder token. To another, it might be a user name. To another still, it might be interpreted as %%USERNAME followed by %%. Suddenly the simple system-wide UI for handling basic data types has to account for multiple actions and/or multiple "data detector plugins" claiming all or part of a format.
I'm not sure we'll ever see custom data detector APIs on iOS or Mac for this reason alone.
While custom data detectors aren't available at the OS level, there is a mechanism that will get you almost there. One possibility is to create a Workflow in Automator and save it in the Services menu.
It can be configured to be active when text is highlighted. You'd either go to the current app's main menu and select the Workflow under "Services", or else right click on the text and go to the "Services" menu from there. Not as easy as clicking on the text as you would a URL, but pretty close.
Create a workflow in Automator on Mac

in interface builder what is accessibility menu for?

with the newer sdk we can see a menu named accessibility in identity inspector.What does it do and how we can use it in application?
That menu is part of the accessibility interface, which allows you to make your application more usable by those with disabilities.
Through the various components, including attributes like labels to hook in to the VoiceOver system, traits to describe a control's position and state, hints to describe the uses of a control, zoom, high contrast modes, and much more, you can significantly improve the accessibility of your application (in addition to providing some benefits to those who happen to like these features even if they have no disability).
The Accessibility Programming Guide for iPhone OS provides all the details and a great jumping off point to get started with accessibility in iPhone development.

Resources