I need to be able to modify the WiFi settings on a iOS device (iPhone and iPad), most of the libraries are found so far via google search are private libs... Apple don't like this, does the SDK allow this in another way?
Thanks
Without jail breaking the device, you cannot modify the Wi-Fi settings. This is because all iOS applications are sandboxed, meaning they only have access to the data Apple allow deems necessary to the functioning of the app. For iOS apps, the documents directory constitutes the application's sandbox and the application cannot create or modify files or directories outside of these directories. So even if you found a way to modify Wi-Fi settings, your app would be rejected by Apple. Hope this helps!
Apple does not expose any public APIs that allow you to do this.
Related
I have asked this question long before.
I know it maybe impossible, but as far as I know, 'Find my friends' has this features and it works just so well, so I wonder if now there is a neat and legitimate way of doing that.
Just because Apple's Find My Friends app has a feature does not mean the API is publicly available. If this app is not an enterprise app, you can't use private APIs and have your app put on the app store. If it is an enterprise app, you may want to look into setting up a configuration profile for the device. In order to access the VPN for my employer, I had to install a configuration profile (visible in Settings) that requires a passcode to be entered every time I unlock my iPad. Without that, I cannot VPN into their intranet. TestFlight uses a similar approach with profiles to register a device to receive builds. I would check out this link from Apple on setting up these sorts of profiles for enterprise applications: http://www.apple.com/iphone/business/resources/
There's no way to detect this programmatically from within an iPhone SDK-based application. If you need to, you should file an enhancement request with Apple at http://bugreporter.apple.com
Is there any way to achieve the following things via my application's code on the iPhone:
API for locking/unlocking the ios 5.0 device
Wipe the device data as in below app
http://www.engadget.com/2010/06/18/apple-launches-find-my-iphone-app/
Language change of the device
Device sound change etc
All of the activities you list here are handled by private methods, and as such, are off limits to App Store developers (and there is no official API to access them). That said, anything is possible if you're willing to forego distribution in the App Store and able to dig into the undocumented features of the native and/or jail broken OS.
I need to get a file (sms.db) from an iPhone connected to a Mac. I cannot find any way to access the iPhone filesystem searching in Apple Developers Connection...
I cannot SSH to the iPhone, the application I want to develop is meant to be used on non-jailbroken iPhones... And I would like to avoid some MacFuse modules I found googling, too... I would like to access the filesystem thru some sort of API, the simpler the better.
Thanks!
This api was developed to allow access to ios devices:
http://www.libimobiledevice.org/
There is no Apple-documented public API for accessing the entire filesystem on a stock OS iOS device. Even private OS/API calls won't work due to the app sandbox restrictions.
Xcode, iTunes, and probably other apps that take over the iTunes USB driver, are using a non-Apple-documented private API that only works over the USB connection.
It appears that DiskAid silences all nay sayers. That app seems to have complete access to the iOS device filesystem - whether or not iTunes is running and whether or not the files are shared. It even sees files down to root level. I am still trying to figure out how it is done. Oh yea, this is all on a non jailbroken device.
It is not possible for non-jailbroken iPhone due to file system restrictions.
You can't access the filesystem from an OSX application, the filesystem is locked down.
Phoneview (as mentioned in a few comments) does not allow access to the file system.
It uses public APIs to get things like call data and contacts, and allows you to copy files into one location on the phone.
From the FAQ: "PhoneView will store your files in the media section of the iPhone's disk"
Smoke and mirrors.
If it's for your own app, use the document sharing included in iOS 4.x. You can then have files show up in iTunes, and drop files from the desktop into your app's section.
A tutorial is found here:
Ray Wenderlich's nice tutorial
Can I do a search of the iPhone filesystem from within an application? I need to search an iPhone OS device and return a list of all apps installed on an iPhone OS device. I am fairly aware of Apple's restrictions and rules concerning what apps can and mostly cannot do outside of the sandbox -- and know that aside from the Photo Album an Address Book (via specified classes) an application is not allowed to access much of anything outside of its home directory (sandbox) for security. But the boundaries are fuzzy.
Anyway, back to the question: Can UISearchBarDelegate (or any other class/protocol) allow me to search the iPhone device?
Unfortunatly you are still sandboxed, the only way to access the devices' filesystem is to create an application that is a jailbreak designed application.
Not strictly true - the app FileSystem, for example, allows you to browse the iOS file structure and view many (though not all) of the files. You can access almost all of the files from the iTunes backup however.
Does anyone knows how to change the iPhone settings from interior of an app? For example: close the WiFi, disable 3G, change the sound volume and so on?
Apple is changing settings trough an app: Settings.app. It means that it's possible, I just don't know how.
Apple can do it in her Settings.app indeed.
Because of limitations of the iPhone SDK, some API's are not made public so you can't do everything Apple is able to do within her own OS. However, you can let the user adjust the main volume from your application, using the MPVolumeView class.
All applications written with the public SDK are sandboxed. They only have access to the properties and data which Apple deems feasible to use within that sandbox. Some of the examples you list are possible and some aren't.
Apple can perform these operations within their own applications since they don't use the public SDKs to write their applications - they use an internal SDK which has more functionality than the external one. They're not too worried about Apple employees hacking the phone and getting all your data off the phone.
Most of us wish that Apple could migrate more things to the public APIs (and they often do) but the reality is that the sandbox environment is carefully guarded. I wouldn't hold my breath to expect Apple to move all your examples over. You could always file a radar bug and let them know what you want - it's one way to have your voice heard.