WiFi only version iPad app? - ios

I have an iPad that worked perfectly with my iPads with WiFi only environment. But It was rejected due to one of the function that I suspected that the cellular network has something to do with it. Currently, without the necessary resources to test in that environment, I want to target this app only for WiFi version of iPad. Does anyone know if we can submit a WiFi only version app for iPad?

Of course it's not possible, and it's not really reasonable. As a developer you want to have as large userbase as possible, so targeting only wifi iPad version would not serve you at all. Just test it thorougly on different device configurations, fix the bugs and submit again. If you have Mac OS X Lion, you could use Network Link Conditioner Utility for simulating lousy internet connection (3G/Edge). Don't underestimate the importance of testing on the real device though.

Related

Does iOS 8.3 now support Wifi debugging?

I updated iOS on my phone to 8.3 and I saw this message popup on first boot, but I have not seen it since:
I have been searching all day for information and I can't find a single reference to this message or to Xcode supporting wifi debug.
I am using a macbook pro 2009 model, and I have read that this is not compatible with the new continuity features (as well as airdrop etc). I am wondering if this is part of the wifi debug (and also if BTLE is involved at all). Of course it is all speculation since I cannot find any documentation about this.
Has anybody used wifi debug, or can point me to any documentation?
No, the feature was disabled as it causes serious security flows, for example when debugging you can fake location for any app, access confidential data like your number, udid etc. WiFi can be used now only to sync using iTunes.
It's restricted to USB only. You would need to write a bridge between USB and WiFi. You could in theory connect iPhone to Raspberry Pi, use open source crossplatform libMobileDevice. And mirror all USB requests from your XCode to this device USB.

Is owning hardware necessary for iOS development and testing?

I'm learning iOS development and I need to know what hardware I need to test my apps.
Is the iPhone/iPad simulator in Xcode sufficient? Or do I need the hardware? I have an iPad 2, and an iPhone 3G. The iPad 2 is one generation old, while my iPhone 3G is three generations old.
My first project is a basic card game with networking, based on a tutorial.
Opinion: Considering the number of questions I see of the form "this works great on the simulator but not on my device" I'd say that having hardware for testing is necessary. I don't think you need every possible device but certainly ones that cover the features that your app uses.
It depends on features you need.
Example of things you can't test in the simulator:
Push notifications
Performance of an OpenGL game (usually you need a wide set of device to test OpenGL)
The simulator can be used for development, but the simulator is not relevant for efficiency. It is very recommended to testing on a real device too. Some of the services can not be developed on the simulator:
the push notifications
in-app purchase
iCloud services
And you know, that the iPhone 3G is not able to be updated for the lastest iOS (your iPad is able).
The first answer is YES, you need hardware as there are differences between the behaviour of the simulator and the devices. They won't always act the same as the simulator is a bit more forgiving than the device.
For example the simulator will find files (images/sounds/models etc.) even if the case is different between the request and the file name, the device will not find them. And there are more.
An other point is whether to buy/have devices to hold different iOS versions. I don't have them all as this is too expensive for me but I can say that this is a problem. No matter how much you will try to consider the differences between the devices you will always miss something and your app might not work or crash on this device.
Still you can consider this question by looking at the apps that you are going to work on. I would say that if your apps don't use the device hardware (camera for example) and don't have features that might cause problems on different devices you will be able to start with out the devices.
Bottom line is that if you want to deploy good working apps, in most cases it will be better if you could test your apps on a variety of devices.
It's not a requirement to have a equipment to test, but certainly very important. You can test FPS of your app, even not containing hand-made OpenGL. All features that you use on your app, like view effects, are tested for sure on a device. Since simulator uses your mac memory, you won't see any side effects from memory shortage. I believe your best chance is to have a iPhone 4 and your iPad 2.

What is the simplest way to connect a device to an iPad from an application?

I am working on a major product release for my company. We are designing a new device that we would like to integrate into an iOS app. (FYI, we have recently been accepted into the Apple MFi program so we are past that step.)
What we desire is to create a hardware/software eco-system where our users can start our iPad app (yes, it is specific to the iPad and the not iPhone or iPod Touch devices) and the application will automatically discover and link up with any close-proximity hardware that we've developed.
This means that I will need to implement some form of device connection process on both the iPad and within the hardware.
Is there any way to code automatic connectivity to a Bluetooth device from within an iOS application?
I am aware of the Core Bluetooth Framework which has this capability, however, it only works with the new iPhone 4S. That's not an option.
I've also researched about the External Accessory Framework, which can be used to connect to external devices whether they are connected via the iPod port or Bluetooth. This is an option but, if my understanding is correct, our hardware must already be paired with iPad before the iOS software can connect to it. This is less than preferable because although many of our devices may not be in immediate vicinity at one point in time, our customers could potentially own 100's devices that they may desire to connect to with our software.
What are my reasonable options or alternatives? The end goal is to provide a very easy means for our users to be able to connect to our devices, from within our software, on an iPad.
NOTE: I MUST NOT jailbreak the iPad or break any Apple TOS agreements.
UPDATE (3-7-2012) I saw today that the 'New iPad' (as it is being officially called) will be Bluetooth 4.0 capable. I assume this means that this iPad device will be able to use the Core Bluetooth Framework. This doesn't immediately solve my problem because we do want remain compatible with at least the "last generation" iPad device, but this is worth pointing out for others who may be looking for such an answer.
You cannot connect an iOS device to a bluetooth device without pairing first. It is purposely built that way by Apple to reduce the likelihood that someone could connect a bluetooth device without the user knowing about it. If pairing each device is unacceptable (and it sounds like it is), and you don't want to develop a dongle, the only remaining path I can see is to make your devices capable of relaying data between them like a mesh network. That way the user would only have to pair with a single device, and that paired unit would relay communications between the other devices and the iPad.
One of your alternatives would be going WiFi (AdHoc or Infrastructure) with Bonjour. For example you would be able to detect the device nearby (if it is maintaining it's own AdHoc then by SSID; if it's in infrastructure network then by service being announced). One big drawback would be that you couldn't connect directly (from app) to the device's network - user would have to do it manually.
As for BT: big drawback is lack of a serial protocol (not implemented in iPhone/iPod/iPad).

Blackberry Development (Test Devices)

I'm planning to create an app for blackberry. The Android and iPhone Versions are almost done. Next on the list is the blackberry one.
So my question is: how good are the simulators? Do I need a real device to test? Which one would you recommend?
It is unlikely you'll be able to create a bugless app without a real device. However totally ignoring simulators would also be a mistake. Simulators are quite good, because they allow to test a substantial part of features on a wide range of device models/OS versions. It would be quite expensive to have a dozen of real devices. :)
Usual points to bear in mind while working on simulators:
real devices are slower in times.
simulators do not support permissions (simulators act as if permissions are always granted regardless of what you actually see).
real device may not support the same type of network transport that your simulator has (TCP, WIFI, BES).
big wireless providers (e.g. Verizon) usually install a slightly customized version of BB OS on their devices, and sometimes it results in a different behaviour (or even bugs).
I've had fairly good luck with the simulators. I've been using the Storm, and I have a real curve. I have a colleague with a real storm so I run everything by him as well.
There have only been 2 times that having a real device has helped me. 1. Making sure I had my install files correct. Since Eclipse just copies them out to the simulator it took me 2 attempts on a real device.
and 2. When testing creating & using a database on the sim card. I got about 95% there on the simulator, and the other 5% was really just verification.
That said, which one depends on what version you're writing for. Storm and some curves are 5.0 (and can be upgraded to 6.0) The Torch is only 6.0
Blackberry simulators are really good
They are exact replicas of the devices
I have worked with storm and also the torch devices
I have faced problems during the connections to the internet
and while using the SD cards (SQLite databases)
Getting images from the SD Card which is not possible from the simulator
If you are developing an application which needs the basic UI components and the native blackberry components, simulators are fine
But if you are really developing something out of the box device is a must
It would be more better if an app can be tested in the device before rolling out
Try your luck
Thank you.
The Blackberry simulators are fine. I believe they are built using the same code as actual devices, so they are pretty much identical to real devices. The only thing that makes a difference is the software that they run.
The simulators will provide you with almost all the same functionality with the exception of things like GPS. I believe I've used an image from an SD card before using the simulator as well...
As far as I know, simulators are set at a specific OS version, whereas in the real world there are tons of different OS versions being used (minor revisions). There have been cases where a feature has worked on the simulator but once it was built and launched on the device, the device shows something different. So if you want to get your app tested, you should test on your TARGET device and OS on simulator and real device.

Can you still test iPhone applications on an iPhone without a cell carrier?

I'm about to start doing some iPhone application development and it's important to me to be able to test my applications on actual devices before I put them on the marketplace. However, I am planning on switching from AT&T to Verizon soon due largely to the cost of my current plan.
If I discontinue my AT&T service but keep my iPhone 3G hardware, will there be anything that prevents me from testing my applications on this iPhone even though it doesn't have any service?
There is one catch to the iPhone: it needs a valid SIM card (though maybe not current service) in order to activate it after an upgrade or restore.
No. It will be similar to developing on an iPod touch.

Resources