[TIMOB-24447] iOS: 6.0.2.GA iOS Store Builds Missing beta-reports-active
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Critical |
Status | Closed |
Resolution | Duplicate |
Resolution Date | 2017-03-06T15:50:44.000+0000 |
Affected Version/s | Release 6.0.2 |
Fix Version/s | Release 6.0.3 |
Components | iOS |
Labels | beta-testing, distribution, ios |
Reporter | Dawson Toth |
Assignee | Chris Barber |
Created | 2017-03-02T01:44:44.000+0000 |
Updated | 2017-03-07T17:39:07.000+0000 |
Description
If I package my iOS app for store distribution and upload to iTunesConnect, the "beta-reports-active" entitlement is missing if I use 6.0.2.GA.
Using 6.0.1.GA with the same app, same provisioning profile, same commands, only difference is the SDK, the entitlement is included properly.
Whoops. OK, I fix. :)
I can't reproduce this. :( I tested with Titanium SDK 6.0.1.GA, 6.0.2.GA, and master (6.1.0) and built using Xcode 8.2 + iOS 10.2 and Xcode 8.3 beta 2 + iOS 10.3. All of them had the
beta-reports-active
entry in the entitlements file. I even uploaded it to the app store without issue. Maybe you need to do a clean build? I looked at the code and it looks pretty straight forward:It's possible to have a custom
platform/ios/entitlements.plist
file with a<beta-reports-active>
containing an invalid value such as nothing or some value other thantrue
orfalse
. I can see that causing an issue. On a side note, you can now put custom entitlements in the<ios><entitlements><plist>
section of thetiapp.xml
that override the custom entitlements plist.Hmm, the target might be the difference -- I target
dist-adhoc
(with my store cert and profile) so that I can--output-dir
the IPA to a specific place, and then I [fastlane](https://github.com/fastlane/fastlane) it directly to iTunesConnect. Did something change recently there? Looking at the IPA, I see now that it's being signed with a different provisioning profile than what I specified. I'm guessing that because I specifieddist-adhoc
, the tooling decided that I really meant that my adhoc profile should be used, instead of my store distribution profile? My build is essentially:I deleted the adhoc provisioning profile from my computer, and tried to build again, and got the following error:
I then switched back to 6.0.1.GA, cleaned, and built again with the same command line, and it signed properly with the profile I specified...
Meet TIMOB-24444. Titanium SDK 6.0.1.GA introduced support for Xcode 8.3 beta. Xcode 8.3 has completely removed the
PackageApplication
command line tool that we used. In order to generate the .ipa file, we callxcodebuild
with various export archive options to generate the .ipa file. Turns out thatxcodebuild
is very picky about which provisioning profile you use. If you use an app store or development provisioning profile for adist-adhoc
build, it will blow up. We would love to validate the provisioning profile prior to building, but we simply don't know much about the provisioning profile aside from the vague info in the<plist>
section of provisioning profile. There's a ton of binary data in the provisioning profile and I'm guessing it will tell you if it's an app store, ad hoc, or enterprise ad hoc provisioning profile.Makes perfect sense, then. Is there a way to make
dist-appstore
output to a particular directory, instead of opening the archives tab of Xcode? Or is that out of the CLI's hands?Without hacks, no. :( With hacks, yes! The easiest is to edit https://github.com/appcelerator/titanium_mobile/blob/master/iphone/cli/hooks/package.js#L132 and just comment out whatever you want. The hard way is to write a hook that removes the
package.js
'sbuild.post.compile
hook duringbuild.pre.compile
and adds a newbuild.post.compile
that does exactly what you want. Note that you would have to hijack either thedist-appstore
ordist-adhoc
target.Thanks Chris! You can close this if you want -- no action required. It makes sense to me what happened now.
PS: <3 miss you :)
Resolving as sort of dupe of TIMOB-24444. PS: Aw, I'm blushing. :)
Verified that issue is being addressed in TIMOB-24444. Closing.