Batch iphone application creation - iphone

I have built an application that show you information based on te images and database that are included in the bundle of this application. I want to build a whole set of these applications only with different images and databases, but I do not want to create an xcode project for each of these application. Because if I make a change in the application I will have to build all the apps again. I want to be able to build the application using a batch script and then duplicate this and build it for the other applications with a different database and different images. This is what I did so far. I have built the app and then copied the resulting build results. I cleaned these up a bit (for every action it has a cd statement and a setenv statement, which you only need once). But I can't get the thing to run because it uses built in function to execute certain statements, namely:
<com.apple.tools.product-pkg-utility>
and
builtin-infoPlistUtility
Can anybody help me to execute these command from a batch file?

Related

Trouble with FilePickers in Unity Hololens development

I found a terrific reference on how to get started with file pickers. But with that being said, I am not able to get the provided code working for my Unity Hololens app.
My scenario:
I've a file, lets say an object file, like such, 3DModel.obj. I want my app to be able to locate this file (3DModel.obj) at runtime, and then load it at runtime.
I'm attempting to use these read/write functions but I'm getting no where. I've run through numerous functions such as, Windows.Storage.ApplicationData.Current.RoamingFolder, KnownFolder, LocalFolder, dataPath, persistentDataPath.
I've perused through Microsofts file picker documentation, and I'm still left scratching my head.
None of these seem to accomplish what I'm trying to do, or my ineptitude and lack of knowledge on how to use file pickers fails to get the job done.
Limitations of the HoloLens shell:
File Explorer and Local File System
The Windows Holographic app model does not currently expose the concept of a file system. There are known folders, but there is no built in, local File Explorer app like on Windows Desktop or Mobile. Apps can save files to their local state folders. Apps can also save files to a registered File Picker app like OneDrive.

Swift project in Xcode: Three different apps within same project

I have two apps as an individual project written in Swift in Xcode: process1.app and process2.app. Also i have "installer" for those two apps named main.app which has GUI implemented.
I am not able to connect those three apps within same project, where and when user installs main.app, he is going to install process1.app and process2.app.
Can you give me some ideas how to connect all them within same project?
Your description of your project and problem is really vague.
It sounds like you should just scrap the three different targets and just use one target as a launcher for both process1.app and process2.app. If your launcher has a GUI, create buttons that launch each process. You can also modify your program to take command line arguments to launch process1, process2, or both from the command line.

Making and Interfacing with Custom Services

I've been searching for this for awhile now, and I am not sure if I am just not using the correct search terms or if the answer is really that hard to find.
What I am trying to do is to create a new Windows service for a game server from a batch file, and then have a task run another batch file every 30 minutes or more that would run two commands on the game server's command line and do some file work.
Specifically, I am running a Minecraft server using Bukkit for a gaming community I help run, and I want to make sure that the thing is always up unless I specifically tell it to stop (like a service). Bukkit is run directly from a batch file and has it's own command line thing running on it.
I am told that you CAN run this type of thing as a service, but the command line will be hidden from view and/or interaction. This is the second part of my query. I have a handy little backup.bat file that copies all the world files and userdata files into a backup directory, 7zips it, and deletes the directory. The only thing is, is that Minecraft likes to always have the worlds' region files open and writing at all times, meaning that it could cause map corruption if I just run it straight off. To compensate, I need to run the command "save-off" on the server to disable the file hooks temporarily, run the backup, and as soon as it finishes, run "save-on" so that the game can continue without lost data.
What I would like to know about this second one is, is it possible to interface with the game service through a batch file, or do I need to create an application to do that? If the latter, how exactly does one go about doing that? I have moderate C++ knowledge (up through my second OO-C++ course in college), and can possibly learn another language if absolutely necessary.
So, in short, two questions:
1. Is it possible to, and how to run a BAT file as a Windows Service?
2. How to interface with said service via BAT files, and if not possible, what kind of application do I need to write (redirection to or writing a tutorial works for me).
Thank you in advance for any and all help!
Old question, user account doesn't seem active on SO anymore, but hey, if you stumble upon this because you have a similar problem:
Since we are speaking about a Bukkit Minecraft server, turn to the "Essentials" plugin for Bukkit.
It now includes a Backup function that does exactly what the OP asks for, namely stop the save so the files can be manipulated without corruption, launch a script, then starts again.
The script can be a backup one (examples provided in the linked page) but can be used to run any operation on the world's files.

Changing resource file in new version of an app

I'm working on an update for an already existing iphone app. The existing version contains a .sql database file which is used in the app.
I would like to use a new version of this file in the update of the app. On the first startup of the existing app the .sql file is placed in the caches directory of the users iphone. From what I can understand from Apple's documentation the files in the caches directory might get copied from the old app to the new versions caches directory when the user updates the app.
Does this mean that for being sure my new file is used in the updated version I should use a different name of the file?
And what happens with the old file? Do I have to manually delete it from inside the app? Which means I have to check if it's there at every startup of the app?
Thanks
Michael
Yes, you could use a different name, or you could use the same name, and do an "upgrade" (delete and replace) on the first time the user uses a new version.
This does imply checking at every app start, but that's not a bad idea anyways. Having some code that checks versioning at app start lets you put any data upgrade stuff in one place.
One technique is to use NSUserDefaults to keep around two pieces of information: the originally installed version of the app, and the most recently run version of the app. You check these at startup. If they're not there, write both of them. If the most-recent version is lower than the running app version, run your upgrades and bump the version. You could use the first flag to know conditionally in other places whether to expect certain data to be sitting around or not. Having versioning stored explicitly lets you know which version you're upgrading from, too, which might not be obvious if the user hasn't downloaded say 5 intervening updates.

Is there an API or any other method to automate the submission process?

I have a number of apps which are similar in functionality and UI. I create the user interface by picking up variables from a .plist file. For instance, I save the source of the API from where I pick up the data.
Creating a new app involves just changing the values in the .plist file and rebuilding the app, and finally submitting it to the App Store. Also, I need to create Ad-Hoc provision files and build test releases too.
I wish to automate this process. For this I need to:
Build the app through the command line interface.
Upload the binary and other required files/information (app icon, description, etc.) to iTunes Connect.
Any pointers where I should look?
It's 2016, and now we have the iTunesConnect Transporter command line tool with a quick start guide here.
Also, have a look at this OSS project that wraps the Transporter tools (and others) in a friendly way:
https://fastlane.tools
Building your Xcode projects can be automated by using the command line tool xcodebuild that Apple provides.
As far as automating the app creation process goes, Apple has not exposed this functionality outside of the Xcode GUI. You can still automate this and there are two options.
Use Automator to create a script
that replays all the actions a human
would perform to create a new
project. Parts of this replay
script like the project name etc.
can be customized and
programmatically fed to the script.
A disadvantage of this method is
that this will actually run on the
GUI and will be slow.
If you want to do it all through the
command line, you will have to
reverse engineer the contents of the
Xcode project file that has the
extension .xcodeproj. It's a
compressed file and contains a few
XML configuration files for the
entire project. There is no public
documentation on the contents of
these XML files.
For automating the submission process, you will need a script that talks to itunesconnect.apple.com. This is where you would submit your app to the App Store. Checkout this page for more info on iTunes Connect.
A browser automation tool will be helpful here though you could roll your custom script that talks to iTunes Connect over HTTP.
To summarize, the only thing that can be used readily out of the box is the xcodebuild tool. Everything else has to be reverse engineered.