I am working on a project where the iPad will be used for a specific purpose, and only run one app. When the device starts up, I want my app to run, and I want to override the home button so that it does not quit the app (like the iPhone/ iPod demos in the store).
I have seen bits and pieces of this functionality, but am unsure how to implement it. I realize that it would have to be on a jailbroken device, and the client is fine with that.
Any ideas?
Thanks!
Thomas
Edit 1: I found this site, which explains some iOS daemons. I'm still researching, so I'll just keep posting what I find.
Edit 2: I found Saurik's IRC channel and asked around in there. One of the participants told me that it is possible, but probably not as simple as I thought. I am still doing some digging around in the iPhone 3G filesystem now just to get the feel of what certain things do.
The project has been scrapped, but I'm still looking for help on this though....just cuz I'm interested lol.
Here's my progress on the issue. Question's still not completely answered, but I'm making some headway :-)
I've been researching Jailbreak and the iOS filesystem as well. That has helped my understanding of the issue some.
Without jailbreaking this would not be possible.
There has to be something in /etc somewhere that runs through all the things that start up, just like on Linux.
It so happens that my current ipod touch has a WALD screen after me manually deleting a few mp3 files. Some anti mp3 mocking code policing it, and not liking me touching the mp3 file structures... otherwise I'd look for you right now.
Do you know how to ssh into your ipod/iphone?
Well, I believe Apple itself uses this on the iPads running at the Apple Stores (those showing animations about the products where you can ask to talk with a blue shirt).
I would look for something on the official IPCU (iPhone Configuration Utility) to check if there is an option for auto-loading apps on boot time.
If not, try to get friends with someone working on an Apple Store and get some hints on how they run their app on those iPads.
you can add the "voip" key in the information plist.
This is backed up by Apple:
You can also see this sample project:
https://github.com/lithium3141/BootLaunch
PB.
Related
I'm a bit of a newbie in iOS programming, and have recently tried out some stuff with AVAudioRecorder and AVAudioPlayer, and happend on some strange bugs.
Basicaly what happened was that my app bugged out so hard it broke my iPhones (iPhone 4) audio-recording capabilities. And I'm not just talking about my app not being able to record anymore, none of the apps I tried, such as "Vocie-memo" and recording a movie using the standard-camera-app, where not able to record audio (video for the camera worked fine) anymore.
The problem can only be resolved by restarting the iPhone.
Since I'm a newbie I don't know a lot about these things and if it happens frequently (One app bugging out causing problems for other apps) or if this is something I should report as a bug to Apple.
It was my understanding that the "sandbox" made sure that even though your app bugged out, this wouldn't affect others, but I may be wrong. So my question is: Does this happen often? should I report it?
((For those interested please ask for more info, but it basicaly has to do with sending prepareToPlay to the player but instead begin recording))
Thanks in advance!
Congratulations! You crashed the process that manages recording on iOS devices. You might want to file a radar in Apple's ancient bug report system detailing what happened, but Apple probably wouldn't let an app that does this onto the app store.
So, in conclusion: You don't really have to worry.
I need to show my app to customer but without sending sources codes to him.
He does not own any iDevice at the moment, but only a Xcode installed on his host with iPhone simulator.
So my question is there a "normal/official" way I can pass him the application binary so he can test it on his simulator ? Probably using xcode archiving ?
PLEASE NOTE : I know what is ad-hoc distribution, please do not suggest this, he does not own a device.
NO. You cannot give him the ipa to launch it in simulator. Only the source code. (If he is smart enough to launch it, I think you guess how confused will the client be when you try to explain him stuff around the provisioning profiles and certificates and keys to pair them) ....
I see your problem - however, if this is just about a small tour through the app and not a long time testing, might I suggest another way around this:
Why not using a screensharing app like TeamViewer, which has a version that works without installation and is quite hassle free. And then let him play with the App running on your computer?
Sorry for not having an answer on the question, but that would be an alternative route to take.
Very simple solution:
Set up a contract with penalty fee if he copy's the code or distributes the code that'll settle you for life.
If he doens't own a device, you could also loan him one with the app installed. Just do an iphone without a sim card or an ipod
Creating an ipa file and run on the simulator is not possible. We can run the simulator using Xcode only. (means by sharing the code). If you are not interested, ask him to buy device.
Our latest app was rejected by giving following reason
"when the user launches the app, a blank black screen is produced"
We had tested this many times and did not notice this issue. We tested again now, but it is working properly for us.
Can someone help us to find out the issue?
I don't think anyone can help you find this issue, My suggestion would be to follow up with the Review Team and try to obtain as much information as you can from them. Such as, what device was it tested on, what OS version and so forth.
Ah, the many woes of the app store process.
Make sure that you have tested your app not only on the simulator but also on a physical device.
Secondly the issue might be that you have made some (false) assumptions about the data on the device, that you might have put there manually, but isn't handled when installing anew.
Therefore a plan of attack might be to remove the application complete from both device and simulator and try running them from a fresh install rather than on top of an already installed installation.
Best of luck!
Try to build and install your app from a clean state. You may not be seeing the same as the reviewer, because if you only "build&run" all the time, old files, which are not part of the final build, are still present on your device or in the simulator.
So clean the build folder, remove the app from your device, and try again. Also, check if you app can live without an internet connection.
Your best bet is to discuss this directly with the Apple guys (Resolution Center).
Somebody please help me out. This problem is killing me.
I went through tones of documents and posts. All seems to suggest that simply add a UIFileSharing key into info.plist and set boolean value to YES, files in App's Documents folder (not sub-folder, I know) will show up in iTunes.
However my problem is that I don't have an iPhone, so I really have no clue about what exactly the behaviors of both iPhone or iTunes will be when try to verify this file sharing thing. And what is the right way to verify this.
So when my client try to verify this off my watch (we are on different sides of earth), he keeps reporting back that file sharing feature not work. It is certain that file is properly stored under Documents folder.
In the last attempt, he claimed that he can see the app but not files.
I would like to know the following things, so I can guide him through this and end this pain:
Is it really plain and simple like add one key, no changes to code needed? Or did I miss something?
Are there any special requirements for building (like, only work for release build?), deploying?
What will really happen when plug the iPhone into the computer and sync with iTunes? Will the app show up in the Apps tab anyway, or only show up if file sharing feature are enabled correctly?
Thank you all.
Is it really plain and simple like add one key, no changes to code needed? Or did I miss something?
Yes
Are there any special requirements for building (like, only work for release build?), deploying?
No
What will really happen when plug the iPhone into the computer and sync with iTunes? Will the app show up in the Apps tab anyway, or only show up if file sharing feature are enabled correctly?
It will show up in the app view (on top) all the times. But you will only see them in the file sharing area if you have an app with enabled filesharing.
File sharing is only available on iPhone OS 4 onwards and iPad 3.2
Make sure your client has iOS4 or later.
Not considering legal issues I would be very interested if it would be possible to run one of those on the bare metal of the iPad/Phone ARM-Architecture.
Squeak is running on the iPad as of today!
Considering that iPad has already been jail-broken, I think it's really possible. Also, being made with an ARM processor makes it even more plausible, you already got compilers for that architecture and there seem to be ports of squeakvm to it. It would require some work though.
I know how to get it done, if that helps: send an iPad and a million bucks to Tim Rowledge!
Edit: Someone's got Android working on an iPhone, which is a pretty big step towards a SqueakNOS. In particular, I imagine if you figure out how they do the bootloading, and how to get the image on the phone, you're pretty much there?
Edit #2: Andreas Raab's ported Squeak to Android, so as an interim step one could always run Squeak on Android on the iPhone.
I think it's a silly attempt. The charm of an iPhone, the thing that distinguishes it from Android is that it's a controlled environment. John Gruber calls it an app console. You can find that silly if you want, but remind me again why out of the two major mobile platforms, you choose to breach and extend the one that does NOT brag about its openness and clear documentation and freedom for third party developers. PharoNOS on Android sounds like fun, PharoNOS on the iPhone sounds like PharoNOS on a Wii. That is: You could do it, but why would you?