-
Notifications
You must be signed in to change notification settings - Fork 50
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
Resign of IPA before submit. #41
Comments
@janniklind: Thank you for the feedback. This functionality might be useful to include in the built in tasks instead of the extension. We will consider where to add it. |
Hi again. I have some time available now. If I wanted to implemented this myself and submit a pull request, would you then prefer it to be in this extension or would you prefer it to be in the built in tasks? If the choice falls on this extension, can you point me to a "How to build" guide? because I have troubles building these tasks. I however can build the built in tasks without any problems. I guess I will be using fastlane to do the actual resign no matter where we end up placing this resign task. |
@janniklind: To resign using fastlane, it will be better to do it as a task in the extension. In the built in tasks it makes sense to have an export task that will allow you to export using different identity than the one used to archive. To build the tasks in the extension run "node makevsix.js maketest" Thanks, |
@madhurig: I will use the fastlane sigh resign, since I am using it already in other setups, so I know that better. Also I do not want do maintain the resign part myself. With regards to built these extension tasks, I get the same error as always. I clone this repository and do a checkout on the master branch. I then perform the following: Janniks-MacBook-Pro:app-store-vsts-extension Jannik$ npm install npm WARN app-store-vsts-extension@0.0.1 No repository field. Compiling task... I have then tried "npm install os", "npm install path" and so on, and it installs these dependencies, however I still get the same error when I try "node makevsix.js --maketest". |
We will have to fix the script to do this for you, but you'll first need to install the 'typings' tool (npm install typings --global) and then in each task folder (e.g., Tasks\app-store-promote, Tasks\app-store-release) run 'typings -i' to install the typings files needed by the build. Once you do that (I've confirmed it), the build will succeed. |
@janniklind: As Jeff pointed out the typings are missing from the repo. You will need to run the following in each task folder and then run "node makevsix.js --maketest": $ typings install dt~node --global --save
$ typings install dt~q --global --save I will fix the script/repo to not require this. Thanks, |
@jeffyoung @madhurig Thanks, I can built it now. I have created most of the logic and can resign using only Signing Identities already installed on the build agent. However this doesn't work on hosted agents, where you need a p12 certificate. Hence I am missing the part that enables to install a p12 certificate into keychain and use that keychain when resigning. XamariniOS has the logic for that part already and I will reuse some of it. However it uses a module named ios-signing-common. It is included using the line: I have some problems when trying to use the functionality given in the module If you could provide an example on how to include the Thanks, |
Hi again. I manage to solve it myself. I haven't worked that much with typescript yet. I have added vsts-tasks as a github dependency in package.json, since it isn't distributed as an npm module. I then added the following require path instead.
EDIT: This doesn't seems to work on a hosted MacinCloud build agent. It only works when building the vsix file. So I guess I need to find another way. Is it posible that you can distribute |
I have now pushed some code with the logic. Could you take a look and see what we can do to import the module properly? Also it seems that the
I have correctly set PUBLISH_ACCESSTOKEN to qa2...cg using: |
Hi. The task works now. Vsix fails using
Also I am not a TypeScript expert so before I submit a pull request, it would be nice if you could have a quick look and tell if anything needs to be refactored. Some of the things I consider to change:
EDIT The |
@janniklind: The task implementation itself looks good. But I have concerns with taking vsts-tasks as a dependency. The repo has a lot of tasks and it was not really designed to be used as such. I understand you want to reuse the iOS signing logic from the common module but it is not setup to be used outside the tasks repo. I would suggest you copy the code into this repo even though it is not ideal.
We appreciate your contributions. Thanks, |
@madhurig: Thanks for your feedback. I have made the following and created a pull request:
|
Bump |
Hi Janni. Thanks for your submission. Since you started working on this task, we updated the upstream repository with the build tools/framework from the Microsoft/vsts-task repository (the main repository for our build tasks). As a result, there are a few things that will happen once the code is merged:
That said, you started working on this before those changes went in. What I'd like to propose is that we merge your changes into the upstream repository, and we (not you) handle getting that code updated so that it builds with the new build system, tslint runs clean and localization is set up. Once that occurs, I'd like to know if you'd be interested in submitting some tests for the new task? If so, you could just sync your fork and add some tests. Otherwise, we would take a backlog item to add those tests ourselves. What do you think? |
@jeffyoung - It sounds fine to me. I have seen how the tests are applied in the vsts-tasks repository and I do like that approach. When you are ready let me know and I will provide the tests. |
Submitted #53 for review. Once it's merged, you can start adding the tests. (I did create an initial test that you can follow as a pattern.) You should also update the README.md file with instructions on how to use the IPA Resign task (just follow the pattern we have set in the current README.md file). |
I made some final changes and merged this PR. @janniklind Feel free to review all of the code and update it as necessary (as the author of the task). Holiday vacations are starting so fewer and fewer folks will be around to review. Therefore you should be able to take your time (likely until the new year). Once the changes are reviewed and in, we should be able to get the extension updated relatively quickly. |
The Ipa Resign task was just published to production in the 1.112.0 release of the extension. Any issues with the task should be opened in the Issues list. |
Hi @jeffyoung I cannot see the ipa-resign task in lastest version of the extension -1.147.0 has this been removed? |
@john1452 - The task is still available in the latest version of the extension. If you are still not seeing it, please open new issue and provide screenshots of what you notice and your Azure DevOps organization name. Thanks, |
Often we build the app using an enterprise profile to allow our testers to install it on their phone, it would be great if we could just resign that build instead of making a new one before submitting to AppStore.
Maybe it could be just a new build step, which could be useful in other scenarios to.
The XamariniOS task supports uploading and installing a provisioning profile, this works great, since it allows to build on hosted VSTS agents like the ones from MacinCloud.
https://github.com/Microsoft/vsts-tasks/tree/master/Tasks/XamariniOS
https://support.macincloud.com/support/solutions/articles/8000023177-versions-of-tools-and-applications-on-vsts-agent-plan-servers-
The text was updated successfully, but these errors were encountered: