Create plugin-based iOS app?

Hi everyone,


I have a project that consists on creating an iPad app that has main features but also has plugins.

I don't want to make all the features and then update the application on the AppStore. What I want is basically to make "plugins" server-side and then the app would read those and implement them in the app. (Ex: just how Wordpress works with its plugin feature).


How can I get started to do it? Is it possible to do it in Swift ? I heard it was not possible to "download" code server side. Do you think I should have a "webview" that requests my server to do it? Should I go with a JS based framework to build native apps?


I know there is "in app purchases", but:

- My project doesn't consist on having to pay into the app

- I think in app-purchases have to be coded directly into the app to be used, not what I want then.


Thank you!

Replies

iOS does not support plug-ins.


JS is not a 'native' app, but yes, wkwebview, I think, except you talked about most everything but what your app should do, so...dont make us guess, thanks.


>I don't want to make all the features and then update the application on the AppStore.

No idea what that means...

This issue has both a technical and a business side. You should start by considering the business side. Specifically, take a look at clause 2.5.2 of the App Store Review Guidelines.

The critical point is the definition of “executable code”. The only folks who can give you a definitive ruling as to what does or doesn’t constitute “executable code” is App Review. However, I think it’s safe to say the following:

  • Creating a theme engine that skins your UI based on an XML specification you download is fine

  • Downloading and running Swift code is not

Anything in between these extremes exists in a grey area that App Review will have to rule on.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Thanks for the answer, eskimo!


I am aware of that clause, of course.

The plugins will not be theme skinning, but instead will be full features. The best example I can give is the plugin management system that Wordpress has (or any other CMS).


Thanks.

Alas, I’m not familiar with Wordpress’s plug-in infrastructure so that analogy doesn’t help.

Regardless, it seems me you have two options here:

  • Create a plug-in specification that’s simple enough that you can reasonable tell App Review that it’s not executable code.

  • Create a plug-in specification that uses executable code but that falls under some usage that App Review allows (like JavaScript in a web view).

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

The obsidian editor lets you do just that: https://obsidian.md/plugins

I think main difference from those prohibitive guidelines is that the plugins aren’t general purpose.