Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

SolarShane

macrumors 6502
Original poster
Mar 7, 2014
302
0
Is Apple really trying to wait until the final release to let people start building iOS extensions? I just downloaded Beta 2 of Xcode 6 and there is still no "Application Extensions" category on the new project screen.
 
It's not a project, it's an additional target to an existing project. Extensions need to be part of a parent app that contains the extension. The extensions programming guide explains that.
 
Is Apple really trying to wait until the final release to let people start building iOS extensions? I just downloaded Beta 2 of Xcode 6 and there is still no "Application Extensions" category on the new project screen.

As fishkorp said, you create extensions by adding a new target to your project.

Refer to this guide. There's a lot of useful information in the developer library for all the great things coming to iOS 8, so do make use of it.
 
I really don't get it. If I'm creating a custom keyboard, I can't just create it by itself? No standalone 'Today' view widgets?

Edit: Possible by creating a empty project.

Nope.. Can't even run in iOS simulator. NSMatchErrorDomain, code 5 How the **** are these BETA keyboards running?
 
Last edited:
I really don't get it. If I'm creating a custom keyboard, I can't just create it by itself? No standalone 'Today' view widgets?

Edit: Possible by creating a empty project.

Nope.. Can't even run in iOS simulator. NSMatchErrorDomain, code 5 How the **** are these BETA keyboards running?

Nope, it must be part of an app. Also somewhere in that guide I linked Apple states that the app can not be a container app for extensions - it must have its own purpose.

Think of it this way: If you make an app that could benefit from a custom keyboard and you'd like to share that keyboard, you ship that app & the keyboard with it. You cannot ship that keyboard by itself, nor can you just make a generic app to hold that keyboard that has no purpose of its own.
 
Nope, it must be part of an app. Also somewhere in that guide I linked Apple states that the app can not be a container app for extensions - it must have its own purpose.

Think of it this way: If you make an app that could benefit from a custom keyboard and you'd like to share that keyboard, you ship that app & the keyboard with it. You cannot ship that keyboard by itself, nor can you just make a generic app to hold that keyboard that has no purpose of its own.


WHY Apple, WHY!?!?!?! Android does this the "right" way.
 
I really don't get it. If I'm creating a custom keyboard, I can't just create it by itself? No standalone 'Today' view widgets?

Edit: Possible by creating a empty project.

Nope.. Can't even run in iOS simulator. NSMatchErrorDomain, code 5 How the **** are these BETA keyboards running?

I can create a keyboard with an empty project, works just fine (on device and simulator). Once the app is launched, just quit the app, go into the keyboard settings and turn on the new keyboard.

I'm also willing to bet that unless your keyboard (or other extension) is packaged with a somewhat useful app, it's going to get rejected when submitted. It's an attempt to cut down on a billion just-keyboard apps and such.
 
Nope, it must be part of an app. Also somewhere in that guide I linked Apple states that the app can not be a container app for extensions - it must have its own purpose.

Think of it this way: If you make an app that could benefit from a custom keyboard and you'd like to share that keyboard, you ship that app & the keyboard with it. You cannot ship that keyboard by itself, nor can you just make a generic app to hold that keyboard that has no purpose of its own.

That honestly doesn't make sense. So a product like swype can't just be shipped out as a keyboard? All this is going to do is cause companies to ship some stupid ass "note taking" app just so they can distribute their keyboard that people actually want
 
That honestly doesn't make sense. So a product like swype can't just be shipped out as a keyboard? All this is going to do is cause companies to ship some stupid ass "note taking" app just so they can distribute their keyboard that people actually want

Yeah, I'm not too sure about it myself - if I have a great idea for a keyboard but not an app it seems counter-productive to encourage me to create a half-assed container app just to get the keyboard out there. I suppose Apple are expecting great keyboards to be inspired by great apps.

Anyway, for anyone who's wondering where it says such things in that guide, it's under "Distribute the Container App":

You can’t submit an extension to the App Store unless it’s inside a containing app, and you can’t transfer an extension from one app to another.

To deliver an iOS extension, you must submit a containing app to the App Store. In addition, your containing app must provide functionality to iOS users; it can’t just contain extensions.
 
Yeah, I'm not too sure about it myself - if I have a great idea for a keyboard but not an app it seems counter-productive to encourage me to create a half-assed container app just to get the keyboard out there. I suppose Apple are expecting great keyboards to be inspired by great apps.

Anyway, for anyone who's wondering where it says such things in that guide, it's under "Distribute the Container App":

Container app that must provide functionally? I seriously hope this isn't the case..... On Android, you can submit widgets, extensions, etc without the need for a containing app. This is almost like say "screw you" to indie/individual developers.
 
Container app that must provide functionally? I seriously hope this isn't the case..... On Android, you can submit widgets, extensions, etc without the need for a containing app. This is almost like say "screw you" to indie/individual developers.
http://arstechnica.com/apple/2014/0...opening-the-platform-while-keeping-it-secure/
This restriction sounds more onerous than it actually is. Look at Fleksy, a third-party keyboard app already offered through the App Store. Its containing app is little more than a keyboard tutorial, a field of text to practice in, and a settings panel. A basic Share button lets you send the text you type as an e-mail or Tweet. This app doesn't do a whole lot, but it's about as complicated as a containing app for a keyboard or widget would have to be.
 
That honestly doesn't make sense. So a product like swype can't just be shipped out as a keyboard? All this is going to do is cause companies to ship some stupid ass "note taking" app just so they can distribute their keyboard that people actually want

Yup. So users can learn to use and try out your extension in your app before risking using it in any any other developer's apps. Perhaps including instructions or a tutorial. If it's flakey in your app, I don't end up wrecking any input in my real notepad, calendar, etc. Far more friendly than some raw extension that only geeks can figure out. And friendly might lead to more downloads.
 
Yup. So users can learn to use and try out your extension in your app before risking using it in any any other developer's apps. Perhaps including instructions or a tutorial. If it's flakey in your app, I don't end up wrecking any input in my real notepad, calendar, etc. Far more friendly than some raw extension that only geeks can figure out. And friendly might lead to more downloads.

No, this is terrible, because then I end up with a bunch of apps cluttering my home screen, when really I just wanted some keyboards, notification center widgets, or share extensions.

(obligatory "oh just throw them in some folders blah blah")
 
No, this is terrible, because then I end up with a bunch of apps cluttering my home screen, when really I just wanted some keyboards, notification center widgets, or share extensions.

(obligatory "oh just throw them in some folders blah blah")

I don't understand why a keyboard-providing app would have to be on your home screen. Or any other extension-providing app, for that matter. Put it wherever you want; the system should still see that it contains an extension.

One obvious reason for having something on-screen is to give a visual affordance to delete it. By making it an app, as distinct from some other more specialized and differently managed thing, you manage it the same way you manage apps. There's no need for an extension manager, or a widget manager, or whatever.
 
No, this is terrible, because then I end up with a bunch of apps cluttering my home screen, ...

Stick em in a folder, maybe the same folder with all the other Apple apps that you don't use. Also if you don't like the extension, just delete the app. No fiddling with extension managers that no one can figure out.
 
I would have thought 80-90% of extensions will be part of an app anyway.

-File managers like Dropbox and the like will be have an app.
-Today widgets will be part of an app that provides a much full range of information.
-Share extensions part of some networking app. Possibly having a today widget as well.
-A Photos app like instagram might have many extensions.

So yeah Keyboards aren't likely to need an app without this requirement but really they are only ones out of all the extensions. Why make a new interface just for a few outliers, when you could just ask them to do a little extra work and fit in to the system the users already know and understand.
 
I would have thought 80-90% of extensions will be part of an app anyway.

-File managers like Dropbox and the like will be have an app.
-Today widgets will be part of an app that provides a much full range of information.
-Share extensions part of some networking app. Possibly having a today widget as well.
-A Photos app like instagram might have many extensions.

So yeah Keyboards aren't likely to need an app without this requirement but really they are only ones out of all the extensions. Why make a new interface just for a few outliers, when you could just ask them to do a little extra work and fit in to the system the users already know and understand.

Keyboards do need an app. Apple, I don't want app icons just for keyboards.

Inter-app communication is new to iOS 8? Nope. It really is a shame that all this is is an 'official' API. Developers have been able to do inter app communication for ages. Google does it with it's iOS apps; you open a YT vid in Chrome? It opens in the YT app if it's installed. Open a link in the Gmail app? It projects Chrome's UI to Gmail and loads the link.

If someone makes a sharing extension, then yet another app on the home screen. Widgets? Don't get me started. They aren't widgets at all. They're interactive notifications.
 
Stick em in a folder, maybe the same folder with all the other Apple apps that you don't use. Also if you don't like the extension, just delete the app. No fiddling with extension managers that no one can figure out.

Yes, I stated in my post that I know you could just stick them in a folder, but that's not the point. There is no reason that keyboard SHOULD require an app.


I don't understand why a keyboard-providing app would have to be on your home screen. Or any other extension-providing app, for that matter. Put it wherever you want; the system should still see that it contains an extension.

One obvious reason for having something on-screen is to give a visual affordance to delete it. By making it an app, as distinct from some other more specialized and differently managed thing, you manage it the same way you manage apps. There's no need for an extension manager, or a widget manager, or whatever.

There is already a keyboard manager, and with the current setup, apple requires you to go in and enable an installed keyboard, so it looks like you will need a keyboard manager anyway.

Also, what do you mean you don't know why I would have to have the app on my home screen. All apps are on your home screen? (by home screen I mean anywhere on the springboard)
 
There is already a keyboard manager, and with the current setup, apple requires you to go in and enable an installed keyboard, so it looks like you will need a keyboard manager anyway.

To install. But you overestimate the intelligence and memory of some large percentage of users to figure out how to get rid of an unwanted extension, the next day or later.

Thus every keyboard will come inside at least memopad ... and an app with a textview is a tiny percentage of additional lines of code compared to what a high-functioning keyboard extension will require.

But the cooler devs will create a full instructional app to vastly increase usage and legal analytics.
 
To install. But you overestimate the intelligence and memory of some large percentage of users to figure out how to get rid of an unwanted extension, the next day or later.

Thus every keyboard will come inside at least memopad ... and an app with a textview is a tiny percentage of additional lines of code compared to what a high-functioning keyboard extension will require.

But the cooler devs will create a full instructional app to vastly increase usage and legal analytics.

Not to mention add maybe some typing speed game elements to the app. Then friends will challenge each other and turn the app in to it's own viral marketing.
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.