How to disable other Apps or other apps communication with Ionic - ionic-framework

I am looking for information on how to disable/enable other apps with Ionic. Or even block the network communication of another app through a button in my ionic app.
Is this possible with Ionic? What plugins or tools should I look for?
Thank you!

Such privileges in general are reserved with the system (operating system) and each app including ionic-cordova hybrid would run in a "sandbox" and app 2 app APIs are normally not common or not available/exposed.
There was an attempt to do app2app API with windows phone but failed.
So at best you could try leverage app specific schemas to let OS know you want external app to do something. But definitely you can't control other app's behavior like you described (was possible in early days of Android actually I think)

Related

PhoneGap Cordova Browser based and app

Let say were starting a website from the ground up and want to also create apps.
Could you just create the website with a REST API's and have it work on browser and PhoneGap? Would there be a conflict with Cordova plugins you may use?
So the design is responsive and its all HTML, CSS and Javascript and connects to a REST API (log in, reg, messages, db calls, etc) for the browser website and apps.
This way you can use the same code for everything and can still use some of the great Cordova plugins for the app to make it more flexible.
Would this work?
I posted this answer else where but I think it is relevant here.
Unfortunately for your app to pass Apple App store approval it will have to provide some basic functions and display correctly without an internet connection. This means at a minimum, if you plan to generate content on a server you will probably need the Cordova plugin for network information:
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-network-information/
I would make sure you are familiar with the Apple Human Interface Guidelines:
https://developer.apple.com/ios/human-interface-guidelines/overview/design-principles/
You will probably also need to bundle any JavaScript. Apple is very picky about apps that download code (this can include JavaScript).
This is a section from the iOS developer Agreement.
3.3.2 Except as set forth in the next paragraph, an Application may not download or install executable code. Interpreted code may only be used in an Application if all scripts, code and interpreters are packaged in the Application and not downloaded. The only exceptions to the foregoing are scripts and code downloaded and run by Apple's built-in WebKit framework or JavascriptCore, provided that such scripts and code do not change the primary purpose of the Application by providing features or functionality that are inconsistent with the intended and advertised purpose of the Application as submitted to the App Store.
Another big concern is performance. How will your app handle a poor 3G or even 2G connection? Do you need to cache the responses from the API and only download them if they have changed on the server?
If a user is browsing your website on a browser they know they need an internet connection, if they are using your app they want it to work when online and offline.
Edit
Apple commonly uses this reason for rejection for website only apps.
We found that the experience your app provides is not sufficiently different from a web browsing experience, as it would be by incorporating native iOS functionality.
While your app content may differ from your web site or other existing sites, the experience it provides does not differ significantly from the general experience of using Safari, as required by the App Store Review Guidelines.

How can I make my own iPhone app for myself?

I don't have an Apple computer, I just have an iPhone and some knowledge about language development. I want to create my own app for my own use, just for fun! I don't want to pay Apple for a developer account. I just want to develop my app and put it on my iPhone. I can either develop on Linux or Windows. How can I do that?
If you want to develop on an actual iPhone, you'll need a developer licence. To developer apps natively you will need a Mac running XCode.
There's lots of HTML5 libraries for making apps using javascript though. Maybe try out Phonegap or GameSalad
At the minimum you'll need to have OSX (Mac Operating system) to run Xcode/iphone emulator, you wont be able to do this without OSX.
EDIT:
You may be able to develop it using phone gap: http://phonegap.com/
You'll have to do testing on an adriod emulator, but I believe phonegap builds the app in the cloud. Good luck.
You can develop an app using adobe AIR or adobe Flash. Check out FlashDevelop for a free solution for making flash and air apps for everything from windows to android to iOS.
For a somewhat detailed tutorial on how to actually export an AIR project from FlashDevelop so you can install it on an iOS device, see:
http://www.codeandvisual.com/2011/exporting-for-iphone-using-air-27-and-flashdevelop-part-one-installation/
and FYI, this is not JUST for jailbroken iOS devices! :D
Native iOS applications can only be built in Xcode (which can only run on a Mac), and you need a developer membership to deploy those on an actual device (which costs about $100 a year). So, that’s the caveat: You can’t make native apps.
However, native apps aren’t the only option! There are two other approaches.
One way is to make a web app. These days, web apps can do almost everything that a native app can do (even access the camera). Unless you’re building something specialized (like a video editor, for example, or a game that needs to work with Bluetooth game controllers), you can probably make something as a web app. Years ago, I wasn’t happy with the flashcard apps on the market and wanted something custom but super simple to help me study JLPT vocabulary. At the time, I also didn’t have the money for a developer membership. I made it as a web app, and it worked great!
If you’re making a web app, you’ll need someplace to host it. There are lots of options. For example, the free tier on Firebase is plenty for a personal-use web app. You also might want to consider building the app using client-side scripting (like Javascript) so that you can host it statically, which will allow you to tell iOS to cache it so you can utilize it offline (Google “HTML offline manifest” for details).
The other way, if you have a friend with a developer account, is to build your app using a cross-platform framework like Flutter, where you don’t need a Mac to develop and test it, then ask your friend to make it for you. You’ll need to rebuild periodically (I think once a year) because your provisioning profile will expire.
If you use a framework like Flutter that can build both native AND web apps, that gives you the ability to run natively (if you have access to a Mac) or host it statically on someplace like Firebase Hosting (if you don’t).

Phonegap: Can iPhone web app access/check for wifi connections

I have tried looking for some answers but could not get anything concrete from the other questions in here.
I am looking for an answer to these two questions:
Using PhoneGap, if I create an iPhone web app, can I use it as
plain web app (i.e. without using iTunes to deploy it)? Just via a
web url?
Using PhoneGap, can an iPhone web app check for wifi
connectivity? i.e. If wifi/3g is available, if wifi is available,
can it scan for ssids.
Thanks for any help in advance.
You can create host the web app on your own server (or local). Then it is accessible via web url. If you want to use it as a normal app (there are differences - phonegap uses few native plugins for better experience), then you must have a developer license from apple and then deploy it to your device. Otherwise you can only use the simulator. You can also use Safari + USB to debug your app using the browser.
It is possible but limited. Only certain functionalities are available. Check out the following plugin for cordova (phonegap):
cordova-plugin-wifi
Good luck!

Download additioanal functionality into an app - is it possible?

I'm currently developing an iPhone version of existing Android application.
Customer wants to provide his web services via mobile apps. On Android this is made in a modular way: user installs main app, and then he can download additional modules to it if needed. That way he can install only modules that he needs.
Is there a way to achieve same functionality on iPhone? I read about In-App Purchasing, but I don't know if it will work because additional functionality will not be built-in and unlocked - it needs to be downloaded and added to my app as a new module - so user's space would not be wasted with unneeded modules.
Thank you!
2.7 Apps that download code in any way or form will be rejected
From App Store Review Guidelines
Judging by the question, this is not a world-facing app - it has a specific customer. With Terente's answer in mind, do consider side-loading, AKA in-house distribution. That is - bypass the app store. The prohibition on the downloadable code is an App Store policy, not a limitation of the platform.
The enterprise contract with Apple is $300/year instead of regular $100/year. But you get to install your app on as many devices as you wish, completely bypassing the App Store. Either over the air (by browsing from the phone) or via iTunes.
Under this model, your app can download, store and run custom code all you want. The specifics of the plug-in model are up for you and your customer.
EDIT: so app store is a must. How about this: have a WebView in the project, have it download HTML pages with JavaScript in them, have code hooks for JavaScript to call. To the best of my knowledge, AppStore does not reject apps that display Web pages from the Net, and if the Web page happens to have a script, there's no prohibition on executing that script.
This violates the spirit of the rule while relying on letter and precedent. Technically speaking, JavaScript IS code. And again, technically speaking, WebView is capable of downloading and running it. And App Store is choke full of apps with WebView in them.
How will this fly with your customers, who knows.

Will a Safari-based app for iPhone be accepted to the iTunes store?

I'm about to begin development of an iPhone app. The app itself is fairly basic, and I want a speedy turnaround time.
I'm a web developer myself, specialising in traditional web technologies such as PHP/MySQL; I have no experience in Objective-C.
My plan was to create a very basic iPhone app that is just a Safari service that passes some basic variables to a URL. That URL is the app built in PHP and housed on my servers, this way I can create the app very quickly without needing to outsource anything.
My question is whether apps of this nature would be accepted into the iTunes store, or would they be out-right rejected? Anyone's experiences or comments are very welcome.
Thanks
It could go either way, but mind bullet 12.3 from the App Store Review Guidelines:
12.3 Apps that are simply web clippings, content aggregators, or a collection of links, may be rejected
In my opinion, a simple UIWebView wrapper around your web site comes close to the definition of a simple web clipping. Your approval may very well hinge on your luck in drawing a sympathetic reviewer.
It really depends upon your application...These kinds of application have been approved in the past but again I am saying that it depends on many factors.
Try to test your app in every possible manner and also keep in mind the memory issues.
Best of luck!!!
Should be fine - its called a web app and there is software out there that will do just this for you.
All you need to do is to make a UIWebView and put your web app into it.
Also look at http://jqtouch.com. That gives you some idea of what you can do web-side. :)
http://www.netbiscuits.com/559
Native Hybrid Apps
Native apps can interface more deeply
with the mobile handset modules and
sensors to create an even richer
mobile user experience. Netbiscuits
provides pre-build native apps
frameworks for all major mobile
operating systems to be easily
customized for the needs of
enterprises.
Get "2in1" by combining the power of
mobile websites and native apps by
wrapping mobile websites into hybrid
apps and list them easily in all major
app stores of providers like Apple,
Nokia, Google or Samsung to open a new
mobile distribution channel. The
benefits of this approach are fast
time to market, minimized development
and maintenance efforts and maximum
mobile cross-platform technology
coverage.
Yes, it will be accepted as long as you stick with HTML, CSS, JS and Obj-C on the client side. You still need to wrap it in an iPhone app. In my experience, the best way to this is to use http://www.phonegap.com/ or a similar framework.
You'll have the option of deploying you app through iTunes or as a regular web app (you users will be able to create a link to your web app right on their springboards)
It SHOULD be accepted, granted you test test test and make it look just like a native application. Also you'll have to make sure that your server is never down, or if the application can't reach it just display an error message. You also have to keep in mind that there are a lot of iPod Touch users, and they don't have access to the internet all the time. Which means that chances are you'll get a BUNCH of 1 star reviews