Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement tns publish ios #1558

Merged
merged 2 commits into from
Mar 7, 2016
Merged

Implement tns publish ios #1558

merged 2 commits into from
Mar 7, 2016

Conversation

Mitko-Kerezov
Copy link
Contributor

The command has several parameters:

  • Apple ID - Mandatory The application's Apple ID - it can be viewed at iTunes Connect
  • Username - Mandatory Username for authentication with iTunes Connect
  • Password - Mandatory Password for authentication with iTunes Connect
  • Mobile Provisioning Profile Identifier - Mobile Provisioning Profile Identifier - it can easily be viewed with the iPhone Configuration Utility under the tab Provisioning Profiles
  • Code Sign Identity - Code Sign Identity used for building. It can be set to something generic like iPhone Distribution in order to let Xcode decide the best match for a code signing identity.

This is only the iOS part of the implementation - tns publish android will be introduced in a subsequent pull request.

References: #1172
Merge after: telerik/mobile-cli-lib#609

Ping @rosen-vladimirov and @ligaz for code review and @ikoevska for messaging and help 🐱

@Mitko-Kerezov Mitko-Kerezov self-assigned this Mar 1, 2016
@Mitko-Kerezov Mitko-Kerezov added this to the 1.7.0 milestone Mar 1, 2016
if (!this._itmsTransporterPath) {
let sysInfo = this.$sysInfo.getSysInfo(path.join(__dirname, "..", "..", this.$staticConfig.PROJECT_FILE_NAME)).wait(),
xcodeVersionMatch = sysInfo.xcodeVer.match(/Xcode (.*)/),
result = path.join("/Applications", "Xcode.app", "Contents", "Applications", "Application Loader.app", "Contents");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest using xcode-select --print-path to get the path to Xcode.app, rather than hard-coding it.

@Mitko-Kerezov Mitko-Kerezov force-pushed the kerezov/publish-command branch 2 times, most recently from e80b4d8 to ac70416 Compare March 4, 2016 13:25
@ghost ghost force-pushed the kerezov/publish-command branch from ac70416 to 7f84f3d Compare March 4, 2016 17:11
@Mitko-Kerezov Mitko-Kerezov force-pushed the kerezov/publish-command branch 4 times, most recently from 0dd2546 to c363982 Compare March 7, 2016 09:41
@@ -44,10 +44,12 @@ Command | Description
[livesync](livesync.html) | Synchronizes the latest changes in your project to devices.
[livesync ios](livesync-ios.html) | Synchronizes the latest changes in your project to iOS devices or the iOS Simulator.
[livesync android](livesync-android.html) | Synchronizes the latest changes in your project to Android devices.
[publish](publish.html) | Builds the project and publishes it to an Application Store.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need for caps in Application Store.

Usage | Synopsis
---|---
General | `$ tns appstore upload [<Apple ID> [<Password> [<Mobile Provisioning Profile Identifier> [<Code Sign Identity>]]]]]`
General | `$ tns appstore upload [<Apple ID> [<Password>]] --ipa <Ipa File Path>`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

two Generals ?!
Consider using something like:

Upload current project
Upload current project with specific Code Sign Identity
Upload built application

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't comprehend why this is in the testing section?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of two Generals, go with:

Build and upload package | blah blah
Upload package | blah blah

@ikoevska
Copy link
Contributor

ikoevska commented Mar 7, 2016

You need to include the new top-level command in index.md and in readme.md as well.

General | `$ tns appstore upload [<Apple ID> [<Password> [<Mobile Provisioning Profile Identifier> [<Code Sign Identity>]]]]]`
General | `$ tns appstore upload [<Apple ID> [<Password>]] --ipa <Ipa File Path>`

Uploads project to iTunes Connect.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make sure to explain that users can issue a production build which will build the project and upload it OR they can pick an already built package and upload it.

@Mitko-Kerezov Mitko-Kerezov force-pushed the kerezov/publish-command branch 3 times, most recently from 45b34d4 to 50a7ff6 Compare March 7, 2016 13:39
@rosen-vladimirov
Copy link
Contributor

👍 after green build and approve from @ikoevska

Publishes to itunesconnect via Xcode's iTMS Transporter tool.
Introduce itmstransporter-service to talk to the tool along with minor refactorings in the build process, allowing for custom setting of CODE_SIGN_IDENTITY and PROVISIONING_PROFILE during build.
@Mitko-Kerezov Mitko-Kerezov force-pushed the kerezov/publish-command branch from 50a7ff6 to 2d40008 Compare March 7, 2016 13:46
@@ -18,6 +18,7 @@ Command | Description
## Project Development Commands
Command | Description
---|---
[appstore](project/publishing/appstore.html) | Lists applications registered in iTunes Connect.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider a separate section for these.

@Mitko-Kerezov
Copy link
Contributor Author

@ikoevska fixed the final two comments in a separate commit

## Publishing Commands
Command | Description
---|---
[appstore](project/publishing/appstore.html) | Lists applications registered in iTunes Connect.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider adding the appstore upload command as well here as it does something completely different.

@ikoevska
Copy link
Contributor

ikoevska commented Mar 7, 2016

👍 after addressing my latest (and very last) comment :)

@Mitko-Kerezov Mitko-Kerezov force-pushed the kerezov/publish-command branch from 285cf87 to 1a0709c Compare March 7, 2016 15:32
Mitko-Kerezov added a commit that referenced this pull request Mar 7, 2016
@Mitko-Kerezov Mitko-Kerezov merged commit 429e8a6 into master Mar 7, 2016
@Mitko-Kerezov Mitko-Kerezov deleted the kerezov/publish-command branch March 7, 2016 15:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants