how to programmatically enable Location service for my application on iPhone - iphone

how to programmatically enable Location service for my application on iPhone.
I don't want the warning window to show up and ask me.

You are not allow to use user location without his agree. And the window is presented by the os. So if you want to do this you have to use private apis and your app will be rejected from the store.

Like Terente says, you can't do this if you want to distribute your app through the app store.
If you aren't trying to do that, take a look at how KIF does it. The relevant code is in the _enableAccessibility method, at https://github.com/kif-framework/KIF/blob/master/Classes/KIFTestActor.m#L47

Related

How to lock down user to Single App mode in iOS 6, Programmatically?

There are some question which are related to this,. but getting the exact answer:
Lock-down iPhone/iPod/iPad so it can only run one app
Recently iOS 6 is introduced with some business oriented features, two of theme are:
Guide Access
Supervised Access
These both deals with Accessibility Control features, Like allow user to restrict access to there device, only if they have full access to the device. In that way this is only useful to people, who owned the device like, a school use there device for exam, a restaurant for menus, for product display etc. All of them have access to the device to configure settings etc.
Now my question begins here, I am thinking of an App, which look down user to single app mode when user run the app and after signing out of the app the device start working as before in normal mode.
Through the time when app is active, user should not able to access any other function or button, this applies on all three device iPad, iPhone, iPod.
Also I found that this could be done by installing some Profiles etc, which looks wired and we can't ask user to do so.
So the simple idea is user will only install the App, as normally he does and we could lock him down to single app mode when he log into the app.
The SureLock iOS app does nothing but inform the user how to do it in your system preferences.
Doing it from the app itself is only possible, if you break the rules about private frameworks. And break it hard.
I am sorry to tell you that the way you present your idea, would never be approved for the AppStore.
The accepted answer to this question is no longer correct:
Starting with iOS 7, UIKit exposes the function UIAccessibilityRequestGuidedAccessSession as public API.
I don’t know, but can very well imagine that this function existed as private API dating back to iOS 6, where the guided access feature was introduced.
Note that for this method to have any effect, the device in question must be supervised using MDM, and the ID of the app you want to use this API must be included in the device management profile deployed to it.
Hi may be I am late but I have a good news for you.
Apple provide a new feature in IOS 7 and we can lock the user to single mode without user permission(Lock and unlock mode) here is the apple documentation link
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/#//apple_ref/c/func/UIAccessibilityRequestGuidedAccessSession
the other way is to install the profile config profile like is
http://ipadhire.co.nz/lockdown.mobileconfig
it lock the home button of IPhone and enable single mode
For this you have to do following..
access apple's private api's
access apple's private framework
Apple don't encourage accessing there private api's specially when it comes for App Store, if you accessed the private api's at the time of application review on App Store they will reject the app giving you a message of "accessing a private api".

Can i hook into significant location change service so that i can track a Phone latest location?

i would love to build a auto-start with OS app which runs in IOS background(like a daemon) and when the phone changed its location the app send some information(userid,GPS,time......)to a web server immediately, in addition to,i want my app has no icon and users can not easily find it is on running or easily delete it. so i just wondering if these is some location-change notification i can hook into so that i can perform my code? anyone give me a good idea? i dont want put my app on appstore instead of i packaged it in deb,so i can use any private api or other non-official methods....
You can use CoreLocation native framework.we can access the current location of the user/device dynamically. follow the link for instructions coreLocation tutorials
According to Apple's Documents and guidelines, I don't think an app can exist without icon. The SDK doesn't have this feature as well. And no private API will be accepted into App Store. However, you can post your project on unofficial AppStores for jailbroken phones.

Can an iOS app have no icon?

Is it possible to create an app that does not appear in the Home screen, and allows another app to grab its resources (sounds, images, etc)?
I want to create a lightweight app (app #1) and upload it to the app store. Then I would like to be able to direct users to download an add-on (app #2) if they want that contains more images and sounds. Then app #1 would read these resources from app #2.
I'm trying to avoid having my own server to serve these images, and just have the App Store handle this for me. I know I can do this on Android, and was wondering if it's possible in iOS as well.
Is it possible to create an app that does not appear in the Home
screen, and allows another app to grab its resources (sounds, images,
etc)?
Not only can you not create an app that's hidden from the user, you also can't access the resources of one app from another. Each app lives in its own sandbox and cannot read (or write) into the sandbox of another app.
I want to create a lightweight app (app #1) and upload it to the app
store. Then I would like to be able to direct users to download an
add-on (app #2) if they want that contains more images and sounds.
Then app #1 would read these resources from app #2.
The normal way to do something like that would be to host the resources you need on a server or just store them inside your app.
I'm trying to avoid having my own server to serve these images, and
just have the App Store handle this for me. I know I can do this on
Android, and was wondering if it's possible in iOS as well.
No, not possible.
If you are able to use the In-App Purchase system, then Apple will host this for you. From the docs, I'm not clear if this is iOS 6 only or is available for older versions (I haven't seen any reason it wouldn't work for older versions, but I haven't tried it).
Note that most iOS 6 specifics are under NDA, so please do not discuss them here until iOS 6 releases. This particular fact is public, however:
https://developer.apple.com/technologies/ios6/
https://developer.apple.com/appstore/in-app-purchase/index.html
https://itunesconnect.apple.com/docs/iTunesConnect_DeveloperGuide.pdf
No it's not possible. You have to setup an icon and it will be displayed on the iPhone springboard.
No it cannot, why do you need one?
Sadly No in IOS but in android this is possible.
There can exist an app without an icon. But it can still be managed or removed in "Manage Application" under settings.
This is required in scenarios, like say I want this app to alert user when he is going out of region, using GPS in the background. I do not want any icon nor any user interface.

Access the Apps available in iphone

Hi i would like to access the apps which are available in iphone means downloaded apps and inbuild apps.But here issue is if i access any app which is available in iphone using [[UIapplication sharedapplication]openurl:[NSURl url urlwithstring:#"http://www.skype.com"]] like this i can able to access that iphone app succesfully but if i want to come back to my app i did not find any way only i have to hit homebutton. So is there anyway to come back to my app at any point of time. if anyone know please let me know. Thanking you.
So is there anyway to come back to my app at any point of time.
Not unless the other app supports returning back to the calling app (by responding to a special specifier in the URL, for example).
Note that there is also -[UIApplication canOpenURL:] which will tell you if a particular URL scheme is supported. This is useful to check whether a particular app is installed without attempting to launch it.
That is default behavior of the iOS application. Once your application is in background there is no way to come back to your application programatically.
User has to manually open your application.
You can navigate to some other apps on the phone using the URL method, however you cannot return to your app.
Once you navigate to the other app, it takes over and your app is no longer running. Therefore, the other app would need to navigate back to you. That obviously is not possible, unless you had access to the code of the other app.

How do I make iPhone SpringBoard show two or more icons for one application bundle?

It seems like Info.plist file has an ability to declare different roles for the same application bundle through the UIRoleInfo key. SpringBoard can recognize these roles after installing an app and may display separate icons for each application role.
For instance, iPhone shows MobileSlideShow.app as 2 different programs: Photos and Camera.
Unfortunately, there is no official Apple documentation about the subject at the moment. Would anybody advise how to organize the same behavior in a custom app?
This feature is going to be used in the Enterprise product for ad hoc distribution.
This isn't a supported feature, so if you do this you might have a hard time getting your app through the approval process. I wouldn't recommend using it.
Have you tried it to see if it works? If it doesn't work, you could create a second app that does nothing but launch the first one, with a custom URL scheme. The first app can recognize when it is being launched with that URL. This is not ideal as you will see the second app launch & quit (though it should be really fast).