A user of MyAppSales approached me and asked for the possibility to pre-configure the app such that he could give it to a partner of his. The goal was twofold:
- Pre-configure the account for iTunes Connect such that you don’t have to give your credentials to your partner
- Filter sales reports such that only the apps come through that the partner is receiving a share of sales for
… and all of this without impacting the other features like review downloading.
Since I have such a partner myself for which I’m now publishing 3 apps, I sat down and – after fighting with Xcode over a second target – added a couple of lines to the MyAppSales trunk to enable the “Partner Version”.
In the PCH file you enable and configure this special version by removing the // in front of the first define. Then you need to specifying your ITC credentials and an NSSet of Apple App Identifiers.
// to enable the partner version, re-enable the following define and fill in the three values below //#define PARTNERVERSION #define PARTNERVERSION_ITC_LOGIN @"firstname.lastname@example.org" #define PARTNERVERSION_ITC_PASSWORD @"SECRETPASSWORD" #define PARTNERVERSION_FILTER_APPS_SET [NSSet setWithObjects:@"335519920", @"329678407", @"374457741", nil]
I’ve added a filter for the specified PARTNERVERSION_FILTER_APPS_SET in two places to ignore all lines on sales report where neither the Apple Identifier nor the Parent ID is in this list. Since the app never sees any apps outside of this filter those also won’t pop up on the apps page.
For the preconfigured account, the app adds this ITC account if there are no accounts defined. So if your partner were to remove this account accidentally it would be configured once more on next app start.
All you need to do after configuring and building a release version is to zip and ship the app and provisioning profile to your partner. Easy enough?