NSPhotoLibraryUsageDescription in Xcode8

Localizing of info.plist file may be very unuseful, especially if you use many languages in your apps. The simplest way for localizing NSPhotoLibraryUsageDescription, NSLocationWhenInUseUsageDescriptionor NSCameraUsageDescription keys is to describe it in InfoPlist.strings file. Create new *.strings file with name InfoPlist; Press Localize… button in file inspector and choose the default language; Add new records in … Read more

Get access to Build Changelog in Jenkins

It looks like the TestFlight Plugin expands variables placed into the “Build Notes” field, so the question is: how can we get the changes for the current build into an environment variable? As far as I’m aware, the Subversion plugin doesn’t provide this information via an environment variable. However, all Jenkins SCM plugins integrate changelog … Read more

My prerelease app has been “processing” for over a week in iTunes Connect, what gives?

We had a similar issue. Uploaded builds were queueing up and it simply said “Processing” with the popup help, “After builds are uploaded they will go through a processing state before they can be used.” Days passed. Selecting “Internal Testers,” making a change, and saving seemed to immediately clear the queue: The latest build was … Read more

How to tell at runtime whether an iOS app is running through a TestFlight Beta install

For an application installed through TestFlight Beta the receipt file is named StoreKit/sandboxReceipt vs the usual StoreKit/receipt. Using [NSBundle appStoreReceiptURL] you can look for sandboxReceipt at the end of the URL. NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL]; NSString *receiptURLString = [receiptURL path]; BOOL isRunningTestFlightBeta = ([receiptURLString rangeOfString:@”sandboxReceipt”].location != NSNotFound); Note that sandboxReceipt is also the … Read more

Xcode 7 error: “Missing iOS Distribution signing identity for …”

From Apple – Thanks for bringing this to the attention of the community and apologies for the issues you’ve been having. This issue stems from having a copy of the expired WWDR Intermediate certificate in both your System and Login keychains. To resolve the issue, you should first download and install the new WWDR intermediate … Read more