How can I search for wireless networks (and connect to one after) within an iPhone application? Is it possible?
Legally, you can't do that. Apple does not provide an API to work with. You could try private frameworks APPLE80221, but your application will be rejected from the Apple Store. Using private frameworks is a breach of Apple's development licence.
Related
Apparently, there are already some applications implementing auto-answer on iphone:
http://www.iclarified.com/entry/index.php?enid=20776
How is this done? How can I automatically answer calls programmatically? (private APIs ok)
First, one note on jailbroken vs private API:
Private API are just undocumented API, which can be executed on jailed or jailbroken devices. However, Apple will reject (won't accept them to AppStore) apps with private API usage. So, you can use them on jailed device, but you will have problem with distribution of this app.
My guess is that AutoAnswer is jailbreak tweak. They can be executed only on jailbroken phones.
I think the easiest way to learn how AutoAnswer is implemented would be to disassemble it and check which API it hooks. The harder way would be to disassemble Phone application (may be it's part of Springboard, I don't remember) and find which API you need to hook to provide the same functionality.
Is there any nice documentation which explains various security concerns for an iPhone application. This includes network security as well data security within the device.
The network security stuff is pretty generic for any internet-connected app. As to data security including thwarting jailbroken devices there's a new book last month called Hacking and Securing iOS Applications which is quite good.
I want to integrate Skype APIs in my native app. Is that possible? I have Googled around and couldn't find a way to start. I know there are APIs available for Mac OS X.
Can I make use of those APIs for my iPhone app? I know it is possible, as many apps like Nimbuzz have integrated Skype APIs in their iPhone apps.
Skype has a Public API which you can reference. This page has a wealth of information on how to use the API and the various commands. There is no public framework which abstracts it any further so you'll need to investigate how to make the actual commands by deconstructing the various wrappers.
I don't think Skype wants to particularly bring their API wrappers to the iPhone because you'd be competing directly with their own application. They do provide Cocoa wrappers but those are in the form of a framework and you can't have your own custom frameworks in an iPhone Application (only Apple approved ones). Also relevant: Skype bans Nimbuzz and fring while faking stats
SkypeKit sounds like what you want.
SkypeKit prohibits development on iOS devices. What may be of use to you is the URI scheme, This should let you open the skype App on your iPhone and place a call.
For additional help visit the Skype Developer Forum
Three questions for iPhone developers using Google Analytics within their apps for tracking use of their apps:
Will using Google Analytics cause us to be in breach of the terms and conditions of the Apple SDK 4 for developers?
If the answer to #1 is YES, then what are we -- as iPhone developers -- allowed to use to track usage of our apps?
Has anyone who is using the iPhone SDK 4 built their apps that included the Google Analytics library and found it not to work? I'm being told by my developer that it doesn't work when you build with a Base SDK set to iPhone Device 4.0 and and an iPhone OS Deployment Target set to iPhone OS 3.0.
Thanks in advance!
Answers to your questions:
Yes, with the current API and data collection it looks like it is not compliant with the terms of the SDK. I am using both Flurry and Google in my apps because they offer different feature sets that I need. While Flurry has been very vocal that they are working with Apple to resolve the terms of the SDK, Google hasn't said a peep. So, I'm nervous about using Google but not Flurry, because I think Flurry will change their data gathering if Apple presses hard enough. In any event, I have made sure that I can rip out either analytics service quickly if Apple rejects my app.
My understanding is that it's fine to collect your own device data, as long as you don't report it to others. You especially don't want to share any data that would hint at new devices. That's what got Flurry in trouble. Just remember that you are under NDA with Apple, so anything not publicly announced is between you and Apple. There are also rules about what you do with Device IDs, so make sure you understand those as well.
I am using Google analytics on iOS 4, with deployment target set to 3.0. While I no longer have a device to test against 3.0, it is deployed on the AppStore and seems to be working. (No crash reports)
Louie, I encourage you to take a look at Localytics, our app analytics service. Our service is real-time, we don't sell data to third parties and we release the source code to our libraries.
We also have an updated library that works better with the multitasking or fast-user switching in iOS 4: http://www.localytics.com/blog/
Check out www.flurry.com - they have an awesome service!
They allow you to add "events" so you know not only how many times the apps been downloaded, opened, removed... but you know what buttons and areas they are navigating to once the app is open.
If your app uses core location, you can even see where the users are on a map. Very cool!
Good luck my friend!
I am new to iPhone world.
I have developed an application, which I would like to send to all the iphones come under the vicinity of a particular wi-fi access point. (It is meant for a shopping mall)
With my limited knowledge in this, I understand, I cannot distribute the application through my webserver. I even cant use the 'Ad hoc mode' suggested by Apple, as registering of all the mobile phones is impractical.
I would like to know whether the only solution is 'distribution through appstore'? Or any other solution available?
Expecting your help.
Thanks.
If you mean that the application would automatically be loaded onto phones when they move into a certain shopping mall, then yes, I can see that you are new to iPhone development! :)
For security reasons, the user has to specifically choose to download the app.
If the app is not iPhone-specific but simply a web page made up to look like an app, then you could use SMS to send a URL to the phone. But that would require you to know the phone number, which is also not made available through any kind of local wireless communication, again for obvious security reasons.
The simplest approach would be to put a poster up in the mall, telling iPhone users that they can find the mall's app on the iTunes App Store.
Another possible solution is to make a web app instead of a native app.