The app does not need to be live in the App Store for this to be working. You should be able to get yourself bucketed into a variation and see how the experiment behaves while in development mode. One thing to look out for in the event that you do not see the variation would be to make sure the app is getting the latest version of the JSON datafile.
What does the log say is happening with regard to the datafile? Is it failing to download a new one? Is it downloading the latest revision? You can see the latest revision number by going to http://cdn.optimizely.com/json/ios/1.3/YOUR_PROJECT_ID.json. The project ID can be found by clicking "Home", going to your iOS app's project, and it will be in the URL.
Are you able to enable verbose logging and run the app in the Simulator or connected to Xcode so you can look at the console? This should give you some indication as to what is happening.
What you should see is Optimizely starting, the data file downloading, your bucket being determined, the experiment being marked as viewed, goals sending. These types of things are logged to the console with verbose logging enabled and are often helpful for debugging. If your app is bucketed into the Original, you may just need to reinstall the app because adjusting traffic allocation will not change your current bucket.
Does the Code Block function when you use Preview mode?