Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I need an app that can create click/drag macros to interact with other apps or the system in general.
From searching on the app store, and online, the closest thing I could find was autotouch, which could be used to simulate rapid clicking. However, this isn't nearly close enough to what I need.
Thus, I tried to look up the relevant functions so I could write the app myself. Unfortunately, I could not find any prior discussion of this problem.
A good description of the functionality I am looking for is the way TestComplete's Drag method works.
Unless I missed something, there's no straightforward way to create click/swipe/drag macros that work across apps in iOS.
So are there any "hacky" methods to accomplish this task?
Example usages:
create a macro for navigating between menus in another app
clicking very specific spots in a very specific sequence in another app
quickly change settings/configuration in another app
Apps submitted to the iOS App Store are required to be sandboxed, meaning each app exists in its own isolated environment in the file system and is only allowed to interact with the outside system via approved public APIs defined in Apple's frameworks. This, of course, is for security reasons, and no Apple frameworks provide the functionality you want. I would also imagine that enabling apps to control other apps via gesture macros is not something Apple is likely to support in the future, given that even system-wide screen-recording apps are currently banned.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
Why not use a live packaging server for production instead of making a static bundle? Wouldn't it be beneficial to have it live because you can change it whenever without resubmitting the app? Of course, the downside is that you can't access it offline, but why don't solve it by caching a bundle and fetching new only when available?
It is possible to load the javascript bundle from a server, just as you describe. I'm not sure what source you are referring to when you say "why not use...", but I would imagine the reason this isn't recommended to everyone is that it wouldn't be quite as trivial as you presume:
How do you cache the bundle?
What happens when the package download fails?
What if the native executable is not compatible with the loaded script code because of some native dependencies have changed?
How do you handle hot loading new scripts to an already running application?
The point is that all these problems are possible to solve, but they do not just work out of the box, so you need to build the infrastructure to make it happen. There is also a product called AppHub (apparently yet not launched), that promises to do this all for you.
Another compelling reason is Apple's app store review policies. Apple has recently explicitly allowed apps to download and execute scripts, with the following provision (see section 3.3.2)
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.
However, among many developers there is quite a bit of uncertainty and suspicion whether Apple will continue to allow this, since it is so opposite to their previous review policies.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I am currently developing an iOS app that can be used by different clients keeping pretty much the same interface for all of them. I would like to make this interface somehow “customisable” without having to change the storyboard for every client but I am not sure how to do so.
I thought that maybe I could have some sort of XML file that would contain the value of the UI elements, modify it and have the app read the value of the UI elements from it at compile time so the final app would contain the desired messages, images, etc.
To make the changes easier I also thought of some kind of “wizard” that would show the UI elements that can be changed, allow me to edit and write them to the xml file and after all that, compile the app from the command line (running a script from inside the wizard).
Is my idea viable? If so, how can I accomplish it or what tool are out there that might help me?
Is there another option that would help me accomplish this “customisable” interface?
Note: this is my first iOS app and is still being developed, I searched for related topics and info but found nothing useful so I am not sure if I am asking even possible to do for iOS or if it is out there under another "name".
Edit: by customisable I mean being able to change the text of the messages, the labels, the banner, the clients img logo, color of some elements and that kind of things.
Edit 2 what I would like is to develop a "wizard" that will modify an xml file and maybe replace some images in my app before it is compiled (that is my current idea). After that I would compile it and all the customisation would be done and the app would be ready for the client.
I would suggest that you look at targets http://www.itexico.com/blog/bid/99497/iOS-Mobile-Development-Using-Xcode-Targets-to-Reuse-the-Code
You could generate your XML file for each "Target", but only include the correct one for each target. Then when the app is compiled it should include all the relevant information. If you are producing multiple apps, you also need to consider that the app bundle Id would need to be different for each. Again Targets handles this
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
With the new app-extension kit, I'd like to know if it's possible to build an app that tracks various usage statistics of other apps. For e.g., the no of times someone uses their calculator or the no of minutes spent on Quora.
This is a really nice idea to enhance the ability of iOS system. However, even in iOS8 this is unlike to achieve. Apple has offered so limited APIs for APPs to access other APPs. In those APIs, I cannot find any one to record other APPs' launching or closing. (Except you call that from your own APP so that you can record the time, but this is meaningless.)
In the official document for App Extension Programming, manager for APP is not a type that is mentioned in the guide. I'm afraid that you have read it and it cannot give you more help.
I tried to do research on the most detail list of iOS APIs to find whether this is possible. But since iOS5.0, Apple no longer provided the API diffs. Here is the search result.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Here's my problem: Today my company has an app that communicates with a specific server, but we received demands to develop this same App for different servers, so a few things need to be changed in the App (like the URL to call and the logo).
I do not want to create a whole new application with 99% of the code the same in my Xcode just to do that, because it would be really difficult to develop new stuff.
I'm wondering if it's possible to maintain the same base code with just small changes to different applications.
Hope I made myself clear, thank you.
Just to answer my own question, I just found this guide:
https://itexico.com/blog/iOS-Mobile-Development-Using-Xcode-Targets-to-Reuse-the-Code
Different targets and preprocessor macros are just what I needed, pretty sweet!
For something like this, I'd suggest using easy-to-manipulate stuff like plists and so on to make a core app like a framework that would be able to read an XML for example, and parse its data into different fields of your Plist and apply the settings based on that data for every new app that you have.
So, you should have items like url and logo, etc. in your settings Plist, and getting to read them in the app rather than setting values manually inside the app. This way, you'll be able to drop different image files called logo.png for each app, or edit the value for url in your Plist, and the app will read the value from the Plist.
However keep in mind that Plists are good if you don't have a giant list of items, because they can be slow if you get a really big one, but they're so quick and handy for average number of items.
I hope this helps.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
So I know this is a pretty simple question, but I've looked through all of my iOS textbook and can't seem to find out how people do this. I just want to store and edit an array on the internet. That is, let's say all of the data for my application is stored in an NSMutableArray. Ignoring the complications that occur with people editing the array at the same time, how would I allow multiple people to go into my app and then through that app access and edit the NSMutableArray for others to see?
There are a ton of options here, some of which were listed by #Zaph. The most common scenario to share data between a ton of random users is to setup your own server to run an API that you app will be able to communicate with. This is commonly referred to as the "Backend". The solutions here are vast, written in many different languages and sometimes even provided by third parties services. My advice is to pickup a simple, easy to learn server-side setup like Ruby-on-Rails, then deploy test app on Heroku as they provide free accounts to play with.
In addition to the options #coneybeare provided some others include DropBox, Parse and Azure.
Dropbox requires each user so setup an account.
Parse and Azure have rather easy APIs but you will be paying past the free tier.