Get Call log details from NonJailbreakenIPhone - iphone

Is it possible to get call log details (Received, Dailed and missed) from NonJailbreakenIPhone?
I follow this link http://iosstuff.wordpress.com/2011/08/19/accessing-iphone-call-history/
but i didn't get any thing.
If possible please provide some code or steps.

No, this is impossible because of the way apps are sandboxed on iOS. While it might have been possible in previous iOS versions, iOS 5+ have locked down file system access to only within your own app's bundle.

Related

How to get in-app call information

How can you get information about the call(e.g. caller's and calling numbers(or source and destination phone numbers),call date and call duration etc.), which you make from your app using openURL method in iOS sdk? Any possible way? Any help is appreciated. Thanks.
call log is not accessible via apple documented apis but if you do sm google, you'll find that there are ways to access this info (iOS dependent - means iOS4 's method/api is different than iOS 3) using which you can access this log but then you won't be able to post the app on applestore.
In iOS, you cannot access any other App's data from your App

How to determine, whether an iphone app (previous/next version) is existed in our device or not?

I Have an app with 2 versions.... iPaint1 (FreeVersion) & iPaint2(Paid Version)
iPaint 2 has extra features along with the features of iPaint1..
if user have iPaint1 & also if he installed Paint2.
Now we need to display An alert when user launch/uses paint2. Alert will be pop up as
"You already have all features of paint1 in this 2nd version, Delete Paint1 to free space"
only if iPain1 is existed in our device, otherwise no need of alert How is it possible.
(I guess we may achieve this this using AppStore ID & Bundle Identifier but not sure and don't know the process)
Thanks in advance
But It is works on simulator but not in iPod
Answer :
Finally i Got solution in #MDT 's answer. thank u #MDT and others as well.
Thank you for your quick response.. This link is useful for this question.
Is it possible to get information about all apps installed on iPhone?
and in
http://www.iphonedevsdk.com/forum/iphone-sdk-development/22289-possible-retrieve-these-information.html#post101753
But It is works on simulator but not in iPod any advice pls.
Without jailbreaking, there is no way for an app to directly get a
list of all installed apps on an iOS device.
http://www.quora.com/An-iOS-App-how-to-find-all-other-application-on-the-iPhone
Your best alternative may to be use of custom URL schemes. With these you can implement a link in your free app that opens the paid one if it is installed.
You should use custom URL scheme. Provide some custom URL to free App. Now on the starting of paid App, check if it can responds to the custom URL of your free App. If it can, there exists a free version on the device and display the message to remove it.

Can I force a user to upgrade my app?

Can I force a user to upgrade my app? Does Apple recommend it?
Yes, you can. Just check the version number when the application starts and if needed, bail out with an error screen. I don’t think Apple explicitly prohibits this. (And I doubt they would find out during the review.) Of course it’s annoying from the user’s viewpoint, I would only write something like that if there was no other option.
Yes you can force an upgrade to the user. You can call a webservice when your app start and check on your server if an update is available (you have to add an update when an update available on app store). If an update is available then you can present a view that will have the update button. When pressed this button will redirect the user to the installed app store app and open the upgraded app in it. (you should return this url in your webservice). Let me know in comments if you need more explanations.
And I don't know apple recommend this way. But I have seen this in one or two apps.
Extremely bad approach. My perfectly fine working app forces upgrade, which can not be supported due to obsolete iOS. I am not only forced, but moving away from the coupon app in determination to never use it web-based either.
Security issue, if that is the reason for upgrade, should be patched for existing iOS.

How to automatically update an iPhone app from within the app itself?

This link shows a video where an app upgrade is "forced" from within the app itself:
http://buzzworks.de/blog/update-ios-beta-apps-from-within-the-app
The App Store is not called in and it's said to work only for AdHoc
apps.
Anyone knows how is this possible?
edit: please give a look to the video before answering. AdHoc apps are signed by the developer and they do not come from the App Store. This sort of forced update is useful when doing beta testing and in enterprise applications.
I've found that it's all explained here:
http://developer.apple.com/iphone/library/featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html
The developer should create an .ipa with the app and a manifest in plist format with the URL to the .ipa and a few other things.
The app can optionally implement its own way to find if an update is available and open
the URL to the manifest.
I didn't it's really possible because the app has to somehow sign itself. The best I can think of right now is that the app is not signed?
You can always force people to go to the app store when a new version is out. Simply make the app connect to a webservice first. Other solutions are not accepted by Apple, or will quite simply not work because of other issues (signing is one of many).
You could also design your app in such a way that forced updates are never a requirement. You can load your user interfaces from the web (Apple has presented some valuable information about that during the previous WWDC), your data can come from the web, and if there is any other correction to do just ensure your app is backwards compatible.
That's how the app store works. And it never requires a 'forced update' ... Well, almost never ;-)

How to programmatically determine if DRM was removed from iPhone application?

How can I determine if DRM was removed from iPhone application bundle (to protect it from piracy)?
I have an iPhone app which integrates with a third party web service. I use the technique described in this question to find pirates and then have the app "phone home" with the user's device ID and user ID for the web service (I haven't done anything with this information yet, but I was thinking about contacting them and asking them nicely to purchase my app).
In addition, once a user has used my app for a certain amount of usage, I limit functionality and direct the pirates to the App Store for full functionality.
To my knowledge, there's only one way to remove DRM: Crackulous.
So to find out what to look for in a cracked application, I would run Crackulous on your app and compare the app bundles. It should be fairly easy to determine what's been changed by looking at filesizes and running a diff on the files in the bundle.
Once you know what the changes are and to what file(s), just look for those changes in your application to determine if the application has been cracked.
If you find out exactly which files should be checked, please post your findings here so others can benefit from your research.
My previous Stack Overflow question may help you out: Reducing piracy of iPhone applications
Its probably worth pointing out that there are no casual "pirates". Casual users cannot download your app from the app store without buying it. All the DRM-removal schemes require to be run on a legitimately purchased copy.
As to looking at the bundle for changes, as I recall all you need to do is step through the link-loader commands and ensure that the code bundle is still tagged as encrypted. No need to compare it with anything. You'll need to read about Mach-O file format to do this, but thats not difficult, its all documented on developer.apple.com