How can my app detect that it was distributed via the new TestFlight? - ios

I'm going to use Apple's relaunched TestFlight service to distribute a beta, and I'd like to force a certain message to be visible when running as a beta.
Obviously there's a lot of ways to solve this, but it got me thinking; has Apple provided a way to detect if the currently running app was distributed via TestFlight? iOS clearly differentiates it to the user, so I thought there'd be a way for the developer to tell, as well. Alas, I haven't found anything in the Apple Developer site.

Related

Building Flutter iOS binary without physical access to a Mac

I have an iPhone
I don't have a physical mac. I'm using the new AWS mac instances to use XCode / build the binaries (Completely kosher and allowed by Apple).
I can't connect the phone and the AWS instance since they're not physically in the same place.
If I can build an IPA of the app, I should be able to use Firebase distribution to distribute the app to my phone (I think). But when I try to build the app using flutter build ios I get errors like: 'There are no devices registered in your account on the developer website. Plug in and select a device to have Xcode register it'
What should I do? Can I virtually register my device somehow by putting its UUID somewhere? Can I sign up for a developer account and use TestFlight to distribute the app? Will that also require the device to be physically plugged in?
I can answer for the TestFlight part. You can distribute the app via TestFlight, and the device does not have to be plugged in. So that is very doable.
Using TestFlight is simple and pretty straight forward with many guides, official ones and also on youtube. There are several troubleshooting tips here on SO as well. The drawback as I see it is that it takes time before your pushed build is readily available on TestFlight. So it won't be a good way to iterate code changes fast.

Debugging an edge use case with IPv6 network on IOS for app store submission

A app submitted recently to app store failed in review, one problem was an odd bug which I would describe as an edge use case scenario.
The specific bug was described as
"We discovered one or more bugs in your app when reviewed on iPad running iOS 10.3.3 on Wi-Fi connected to an IPv6 network."
The screen shot provided saying they could not find a file called data.js
This file is part of the app and supplied within the IPA. If it was not all other devices would fail testing aswell. Also the app does not make any external api call's at all unless someone is making an IAP.
How can I simulate this environment with xcode, the simulator doesn't give me an option to define network type?
How is the best way to respond to this with apple? Im cautions of just resubmitting the IPA as they say my developer account can be terminated for failure to fix things previously highlighted review.
I feel like this is a very small use case of users, I would prefer just not to support iPad but unfortunately cocoon.io doesn't support setting a device target when building the app.

simulate xcode without development account

We have an app in Xcode from our old developers. We are in the registration process for an apple developer account, but on internet I read it can take a couple of weeks before it gets approved.
Is there a way I can simulate the app (like with TestFlight) without sending the actual code to potential new developers?
You can't distribute the app unless you have it signed/provisioned with needed UDIDs (which requires developer program). You can deploy it on your(s) device(s) using XCode though.
You should still be able to run the iOS simulator, which is generally the default behaviour for the build-and-run button - you can download more simulator environments in Xcode -> Preferences -> Components if you're missing one that you need.
Update: If you want third parties to run the app, there's no practical option apart from TestFlight. This is because iOS uses code signing to prevent trojan or pirated apps being installed on their devices. In that case you can consider other options which will achieve whatever your goals are, for example making a video of the app in use or setting up VNC access to a machine with the simulator (and code) on it.

Phonegap: key required for iOS

I have started trying Phonegap. While it gives the .apk and .xap, but not for iOS and blackberry and asks for a key.
Can someone provide useful links for developing in iOS and understanding what are the keys mentioned?
In order to develop for iOS, you need an Apple Developer Account. This is costs $99/year, and you can find out the specifics here: https://developer.apple.com/programs/ios/
I've never gone through the process myself, but as I understand it, once you sign up to be an Apple developer, they'll give you a key (or some way of generating one) that every program that can build apps for iOS will require before it can build successfully. There is no way to develop for iOS without first subscribing to the developer program.

Do I need an iOS device to test PhoneGap Built apps?

I'm a complete noob and figuring out all this as I go along so bear with me.
I've built an app using jQuery Mobile, used PhoneGap Build and it works totally fine on Android and I'll deploy it soon. I'm now trying to figure out the more complex steps towards getting it ready for the iOS market. I've got my developer account set up and have tested my app as built with Xcode 4.2 and Cordova.
What I'm having confusion over (well one of the things) is whether or not I need an actual iOS device in order to get the proper provisioning and certificates. Can I get those, run the package through PG Build and then test it with the Xcode iOS simulator? Must I bother my friends to give me one of their iPhones to test on?
If I'm being vague or asking this the wrong way I apologize.
I'm currently building an app for iOS using Phonegap and even though I have done some testing with a physical device I have seen that the simulator works really well. I mean it would definitely be a good idea to at least run one test of your final version on a physical device before you decide to submit, Apple and pretty much everyone else very strongly suggest that you do, but you aren't required to test on a physical device. All the provisioning and certificate stuff can be done through the Apple Developer site.
The only real reason I could see your app not getting approved relating to this topic is if there is some weird glitch that is only present on a physical device and looks fine on the simulator.
And keep in mind, though it probably won't get you disapproved I've noticed that Phonegap apps that use jQuery Mobile tend to be more glitchy on the transitions compared to when they are run on the simulator.
No you don't need an iOS device to get certificates. You can get them using OpenSSL. I created a GUI to help do just this for Windows users.
However Apple is one of the strictest in approval. It takes 8 days for them to approve an app. And they have been know to not approve apps simply because of there appearance.
Now I myself prefer to have iDevices to test apps.
http://community.phonegap.com/nitobi/topics/detailed_guide_for_setting_up_building_ios_apps_without_a_mac
http://community.phonegap.com/nitobi/topics/ios_app_rejected_advice_on_how_to_fix_it
To help with some App Rejection issues you may get when submitting the app.
https://github.com/AndiDog/phonegap-ios-tabbar-plugin
https://github.com/LinuxPhreak/iOS-Win-Signer
You will need an Apple computer to submit apps to the App Store. Apple no longer has a web based App Submission

Resources