ulizama / tifastlane Goto Github PK
View Code? Open in Web Editor NEWWith TiFastlane you'll be able to fully optimize the way you submit your app updates and maintain your certificates and provisioning profiles of all your Titanium Apps.
With TiFastlane you'll be able to fully optimize the way you submit your app updates and maintain your certificates and provisioning profiles of all your Titanium Apps.
tifast pem -d pass hangs when done. Checking developer.apple.com I can see that the APNs Dev iOS cert is created. Also when re-running it also hangs at end after letting you know that you already have one.
As a developer, I want to be able to have a single folder and choose the name, that all the configuration is stored in - so that I don't pollute the root of the app.
Hi!
I have an app which i wanted to deliver in DE-de only. Is there an option to do that with TiFastlane?
What i tried is to add
default_language "de-DE"
to the Deliverfile afterwards, but the app was already registered as en-US
When I call tifast playsend --track alpha for my project the Supply step fails with the message:
[!] Google Api Error: apkUpgradeVersionConflict: APK specifies a version code that has already been used.
Currently there is one Artifact for this App in my google play store in track alpha with version code 1 and version name 1.0.15. I increased the Version in tiapp.xml to 1.0.16.
Here ist the full log and stack from the beginning of phase supply:
Starting Supply
/Library/Ruby/Gems/2.0.0/gems/fastimage-2.1.0/lib/fastimage.rb:67: warning: already initialized constant URI::DEFAUL
T_PARSER
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/uri/common.rb:545: warning: previous defin
ition of DEFAULT_PARSER was here
+-------------------------+-----------------------------+
| Summary for supply 2.37.0 |
+-------------------------+-----------------------------+
| json_key | ../../../GooglePlayKey.json |
| package_name | de.sabio.sabioapp |
| track | alpha |
| apk | ../../../dist/sabio-app.apk |
| rollout | 0.1 |
| metadata_path | ./metadata |
| skip_upload_apk | false |
| skip_upload_metadata | false |
| skip_upload_images | false |
| skip_upload_screenshots | false |
| validate_only | false |
+-------------------------+-----------------------------+
[09:32:29]: Preparing to upload for language 'en-US'...
[09:32:29]: Uploading image file ./metadata/en-US/images/icon.png...
[09:32:32]: Uploading screenshot ./metadata/en-US/images/phoneScreenshots/6_1.Simulator Screen Shot 21.07.20
16, 15.42.00.png...
[09:32:34]: Uploading screenshot ./metadata/en-US/images/phoneScreenshots/6_2.Simulator Screen Shot 21.07.20
16, 15.42.13.png...
[09:32:36]: Uploading screenshot ./metadata/en-US/images/phoneScreenshots/6_3.Simulator Screen Shot 21.07.20
16, 15.42.17.png...
[09:32:38]: Uploading screenshot ./metadata/en-US/images/phoneScreenshots/6_4.Simulator Screen Shot 21.07.2016, 15.42.04.png...
[09:32:41]: Uploading screenshot ./metadata/en-US/images/phoneScreenshots/6_5.Simulator Screen Shot 21.07.2016, 15.42.09.png...
[09:32:43]: Updating changelog for code version '1' and language 'en-US'...
[09:32:43]: Preparing apk at path '../../../dist/sabio-app.apk' for upload...
[!] Google Api Error: apkUpgradeVersionConflict: APK specifies a version code that has already been used.
Supply Done
Hi,
I'm getting the following error when running tifastlane from inside my Titanium project directory
(44) ~/Documents/Titanium/rxm-appv3 -> tifast -h
/usr/local/lib/node_modules/tifastlane/node_modules/update-notifier/index.js:15
throw new Error('packageName and packageVersion required');
^
Error: packageName and packageVersion required
at new UpdateNotifier (/usr/local/lib/node_modules/tifastlane/node_modules/update-notifier/index.js:15:9)
at module.exports (/usr/local/lib/node_modules/tifastlane/node_modules/update-notifier/index.js:118:23)
at Object.<anonymous> (/usr/local/lib/node_modules/tifastlane/cli.js:11:16)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3
During installation, when prompted with #node-sudo-passwd#
it failed to accept my password all 3 times, but still says I downloaded the following:
--- All Tools Downloaded ---
[email protected] /usr/local/lib/node_modules/tifastlane
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
Before trying to install tifastlane through npm, I did successfully install fastlane using the following sudo gem install fastlane --verbose
I am using version 1.4.28 of npm and version 0.10.32 of node
Any idea on how to get tifastlane working? I'd love to try it out. Looks like a great tool!
When I go to the next step I get the following error running tifast int -s
➜ mobile git:(master) ✗ tifast init -s
/usr/local/lib/node_modules/tifastlane/node_modules/tiapp.xml/lib/tiapp.xml.js:40
throw new Error('No XML document created', str);
^
Error: No XML document created
at Object.parse (/usr/local/lib/node_modules/tifastlane/node_modules/tiapp.xml/lib/tiapp.xml.js:40:9)
at Object.load (/usr/local/lib/node_modules/tifastlane/node_modules/tiapp.xml/lib/tiapp.xml.js:61:17)
at Object.exports.loadconfig (/usr/local/lib/node_modules/tifastlane/index.js:70:22)
at Command.init (/usr/local/lib/node_modules/tifastlane/cli.js:203:16)
at Command.listener (/usr/local/lib/node_modules/tifastlane/node_modules/commander/index.js:315:8)
at emitTwo (events.js:87:13)
at Command.emit (events.js:172:7)
at Command.parseArgs (/usr/local/lib/node_modules/tifastlane/node_modules/commander/index.js:653:12)
at Command.parse (/usr/local/lib/node_modules/tifastlane/node_modules/commander/index.js:475:21)
at Object. (/usr/local/lib/node_modules/tifastlane/cli.js:174:9)
I am trying to submit my app through this tool since morning. I successfully registered my app on Developer Apple and iTunes connect. The only issue I'm facing is with tifastlane sendapp
command to submit my app. Could anyone please help here?
Starting deliver
execvp(): No such file or directory
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:980:11)
at Process.ChildProcess._handle.onexit (child_process.js:771:34)
###################### App Information ######################
app_identifier "<my-app-id>"
apple_id "[ID]" # This is NOT your Apple login ID, but the App ID of your app
email "<email-address>" # the login email address
###################### More Options ######################
# If you want to have even more control, check out the documentation
# https://github.com/KrauseFx/deliver/blob/master/Deliverfile.md
copyright "#{Time.now.year} Company"
automatic_release false
app_review_information(
first_name: "Manaday",
last_name: "Mavani",
phone_number: "123123",
email_address: "[email protected]",
demo_user: "demoUser",
demo_password: "demoPass",
notes: "such notes, very text"
)
primary_category "Finance"
secondary_category "Business"
price_tier 0
submit_further_information({
export_compliance: {
encryption_updated: false,
cryptography_enabled: false,
is_exempt: false
},
third_party_content: {
contains_third_party_content: false,
has_rights: false
},
advertising_identifier: {
use_idfa: false,
serve_advertisement: false,
attribute_advertisement: false,
attribute_actions: false,
limit_ad_tracking: false
}
})
Operating System
Node.js
Titanium CLI
*CLI Version = 3.4.2
Titanium SDK
Any plans to add Snapshot or technical reasons why it might not be possible?
edit Just noticed that tifast DOES use Snapshot behind teh scenes. I meant stand alone snapshot functionality, ie. the ability to just grab app snapshots rather than as part of the tifast send
If I follow the Fastlane recommendation to use a Gemfile, I get this warning when running TiFastlane commands:
[10:38:12]: fastlane detected a Gemfile in the current directory
[10:38:12]: however it seems like you don't use `bundle exec`
[10:38:12]: to launch fastlane faster, please use
[10:38:12]:
[10:38:12]: $ bundle exec fastlane
Is it possible to make TiFastlane use bundle exec
to run Fastlane?
Hi,
Am just getting setup with 'tifastlane' and trying out 'tifast send'. As far as I'm aware my environemnt is ok, I can create & submit builds manually. However with tifast send I'm getting the following:
[15:45:49]: Login successful
+-----------------------+--------------------------+
| deliver 2.25.0 Summary |
+-----------------------+--------------------------+
| ipa | ../../dist/MyApp.ipa |
| app_identifier | com.domain.myapp |
| username | [email protected] |
| release_notes | Test from TiFastlane |
| screenshots_path | ./screenshots |
| metadata_path | ./metadata |
| app_version | 4.0.11 |
| edit_live | false |
| platform | ios |
| skip_binary_upload | false |
| skip_screenshots | false |
| skip_metadata | false |
| force | false |
| submit_for_review | false |
| automatic_release | false |
| overwrite_screenshots | false |
+-----------------------+--------------------------+
[15:45:50]: Making sure the latest version on iTunes Connect matches '4.0.11' from the ipa file...
[15:45:52]: '4.0.11' is the latest version on iTunes Connect
[15:45:52]: Loading './metadata/en-US/description.txt'...
[15:45:52]: Loading './metadata/en-US/keywords.txt'...
[15:45:52]: Loading './metadata/en-US/release_notes.txt'...
Looking for related GitHub issues on fastlane/fastlane...
➡️ upload_metadata.rb - string not matched
https://github.com/fastlane/fastlane/issues/8482 [open] 1 💬
4 weeks ago
➡️ Fastlane command sigh resign --signing_identity asks for 'Available identities' when provided with a valid identity string in options
https://github.com/fastlane/fastlane/issues/8159 [open] 2 💬
08 Feb 2017
➡️ Resolves failure when deliver() called with name: argument and name.txt exists in locale-based metadata.
https://github.com/fastlane/fastlane/pull/8688 [open] 5 💬
a day ago
and 4 more at: https://github.com/fastlane/fastlane/search?q=string%20not%20matched&type=Issues&utf8=✓
🔗 You can ⌘ + double-click on links to open them directly in your browser.
/usr/local/lib/ruby/gems/2.3.0/gems/fastlane-2.25.0/deliver/lib/deliver/upload_metadata.rb:188:in `[]=': [!] string not matched (IndexError)
from /usr/local/lib/ruby/gems/2.3.0/gems/fastlane-2.25.0/deliver/lib/deliver/upload_metadata.rb:188:in `block (2 levels) in load_from_filesystem'
from /usr/local/lib/ruby/gems/2.3.0/gems/fastlane-2.25.0/deliver/lib/deliver/upload_metadata.rb:182:in `each```
I've added the 'fastlane env' details further down this message.
Any ideas?
Thanks,
Steve
<details><summary>✅ fastlane environment ✅</summary>
### Stack
| Key | Value |
| --------------------------- | ---------------------------------------------------- |
| OS | 10.12.3 |
| Ruby | 2.3.1 |
| Bundler? | false |
| Git | git version 2.7.4 (Apple Git-66) |
| Installation Source | /usr/local/bin/fastlane |
| Host | Mac OS X 10.12.3 (16D32) |
| Ruby Lib Dir | /usr/local/Cellar/ruby/2.3.1/lib |
| OpenSSL Version | OpenSSL 1.0.2g 1 Mar 2016 |
| Is contained | false |
| Is homebrew | false |
| Is installed via Fabric.app | false |
| Xcode Path | /Applications/Xcode731/Xcode.app/Contents/Developer/ |
| Xcode Version | 7.3.1 |
### System Locale
| Variable | Value | |
| -------- | ----------- | - |
| LANG | en_GB.UTF-8 | ✅ |
| LC_ALL | | |
| LANGUAGE | | |
### fastlane files:
**No Fastfile found**
**No Appfile found**
### fastlane gems
| Gem | Version | Update-Status |
| -------- | ------- | ------------- |
| fastlane | 2.25.0 | ✅ Up-To-Date |
### Loaded fastlane plugins:
**No plugins Loaded**
<details><summary><b>Loaded gems</b></summary>
| Gem | Version |
| ------------------------- | ------------ |
| did_you_mean | 1.0.2 |
| slack-notifier | 1.5.1 |
| rouge | 1.11.1 |
| xcpretty | 0.2.4 |
| multipart-post | 2.0.0 |
| word_wrap | 1.0.0 |
| tty-screen | 0.5.0 |
| babosa | 1.0.2 |
| colored | 1.2 |
| highline | 1.7.8 |
| commander-fastlane | 4.4.4 |
| faraday | 0.9.2 |
| faraday-cookie_jar | 0.0.6 |
| gh_inspector | 1.0.2 |
| mini_magick | 4.5.1 |
| multi_json | 1.12.1 |
| multi_xml | 0.5.5 |
| security | 0.1.3 |
| xcpretty-travis-formatter | 0.0.4 |
| dotenv | 2.1.1 |
| faraday_middleware | 0.10.0 |
| i18n | 0.7.0 |
| json | 1.8.3 |
| thread_safe | 0.3.5 |
| tzinfo | 1.2.2 |
| activesupport | 4.2.7.1 |
| io-console | 0.4.6 |
| excon | 0.54.0 |
| rubyzip | 1.2.0 |
| plist | 3.2.0 |
| http-cookie | 1.0.3 |
| unf_ext | 0.0.7.2 |
| unf | 0.1.4 |
| domain_name | 0.5.20161021 |
| fastimage | 2.0.0 |
| addressable | 2.4.0 |
| CFPropertyList | 2.3.3 |
| claide | 1.0.1 |
| nanaimo | 0.2.0 |
| xcodeproj | 1.4.1 |
| bundler | 1.13.6 |
| unicode-display_width | 1.1.1 |
| terminal-table | 1.7.3 |
</details>
*generated on:* **2017-04-05**
</details>
When using tifast register
add an option that allows the use of fastlane match
to generate the certificates and provisioning profiles.
After executing "tifastlane setup" it does nothing.
How I can see what is wrong.
Also for the modify of .bashrc it will be good to be mentioned in docs that after modify they should do this
. ~/.bashrc
`usr/local/lib/node_modules/tifastlane/node_modules/inquirer/lib/prompts/list.js:32
let index = _.findIndex(this.opt.choices.realChoices, ({ value }) => value === def);
^
SyntaxError: Unexpected token {
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Function.promptModule.restoreDefaultPrompts (/usr/local/lib/node_modules/tifastlane/node_modules/inquirer/lib/inquirer.js:55:33)
at Object.inquirer.createPromptModule (/usr/local/lib/node_modules/tifastlane/node_modules/inquirer/lib/inquirer.js:65:16)
at Object. (/usr/local/lib/node_modules/tifastlane/node_modules/inquirer/lib/inquirer.js:77:28)`
This project is really good.
For now, tifast send -t will ask me distribution certificate and provisioning profile every time. Is there a way to save the last choice or configuration to set ?
When I use tifast send or tifast init, I get:
Starting Deliver
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:1011:11)
at Process.ChildProcess._handle.onexit (child_process.js:802:34)
Support for Android
$>tifast setup
? Which CLI do you want to use? Appcelerator
? What locale do you want to use? en-US
? What's your [email protected]? [email protected]
? What's your TEAM ID? Leave it if you don't want to use it
? What's your TEAM NAME? Leave it if you don't want to use it
? What's your Google Play Key File? (leave empty for default) GooglePlayKey.p12
? What's the Google Play Issuer Email? Leave if you don't want to use it [email protected]
tifastlane.cfg created
All Done!
then...
$> tifast init
Initializing TiFastLane
Your app "deliver" configuration has been created.
You can find your configuration files on: ./TiFLDelivery/com.xxx.yyyy
Go in and tweak your configuration.
$> tifast status
Apple ID: [email protected]
Name: XYUZ
AppId: com.xxx.yyyy
Version: 1.0
CFBundleVersion: 0
GUID: h12345-x67894-345-356-f987348
$> tifast register
Creating app on Apple Developer Portal & iTunes Connect
APP ID: com.xxx.yyyy
APP Name: zzzzzz
Version: 1.0
events.js:85
throw er; // Unhandled 'error' event
^
Error: spawn produce ENOENT
at exports._errnoException (util.js:746:11)
at Process.ChildProcess._handle.onexit (child_process.js:1053:32)
at child_process.js:1144:20
at process._tickCallback (node.js:355:11)
at Function.Module.runMain (module.js:503:11)
at startup (node.js:129:16)
at node.js:814:3
Thank you for this project.
When calling tifast send -t
or tifast send
the build uses in both cases -T dist-adhoc
.
Is there a way to make an App Store build using -T dist-appstore
? If not, is there a reason why only using dist-adhoc
? We would need to load the right config depending on that value.
The 0.9.0 release works perfect for doing releases to the App Store, but the new logic for building the IPA should also be applied to the TestFlight option, because that also uses an IPA to push to TestFlight using Pilot.
When running tifast setup
the file tifastlane.cfg
does not get created.
Tried running as sudo and with 3 different versions of node using nvm but file never appears.
Not a big deal as pretty easy to work out what structure of .cfg should be from https://github.com/ulizama/TiFastlane/blob/master/lib/templates.js but obviously might be a bit of blocker for some trying to get started with TiFastlane.
Fantastic work btw! 👍
I did as it is written in the readme. first tifast setup, filled out all questions. Second, ran tifast init -s, because my app is already in the store.
ends with
tifast init -s
Initializing TiFastLane Smart Mode
events.js:85
throw er; // Unhandled 'error' event
^
Error: spawn deliver ENOENT
at exports._errnoException (util.js:746:11)
at Process.ChildProcess._handle.onexit (child_process.js:1053:32)
at child_process.js:1144:20
at process._tickCallback (node.js:355:11)
at Function.Module.runMain (module.js:503:11)
at startup (node.js:129:16)
at node.js:814:3
What can I do? What do you need to help me?
Supply still support P12 but will be deprecated soon
Hi Uriel,
This is fantastic, great work! I managed to get everything working ok but have some questions before we can get the most out of TiFastlane in our CI environment:
1) How do we specify a provisioning profile to be used during theti send
phase?
Currently I've been choosing one manually but that doesn't sit well with automation.
2) How do we opt not to view the iTunes artwork / store listing preview?
Again I've been accepting the'Looks ok? y/n'
prompt manually.
3) Is it a requirement to upload screenshots every time we ti send
a binary to iTunes Connect?
Our screenshots rarely change so it's an unnecessary step to send the iPhone & iPad screens every time.
4 After the binary is uploaded to iTunes Connect how do we select it and choose 'Submit for Review' ?
Again, I understand how to do this manually through the iTunes Connect portal - but can ti send
be told to select the newly uploaded build & submit it for Apple's review?
Once again many thanks for TiFastlane.
Steve
tifast send -m
Sending only Metadata
/Users/dimovdaniel/.rvm/gems/ruby-2.1.2@global/gems/commander-4.3.5/lib/commander/command.rb:164:in `parse_options_and_call_procs': invalid option: --skip-deploy (OptionParser::InvalidOption)
from /Users/dimovdaniel/.rvm/gems/ruby-2.1.2@global/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
from /Users/dimovdaniel/.rvm/gems/ruby-2.1.2@global/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
from /Users/dimovdaniel/.rvm/gems/ruby-2.1.2@global/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
from /Users/dimovdaniel/.rvm/gems/ruby-2.1.2@global/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
from /Users/dimovdaniel/.rvm/gems/ruby-2.1.2@global/gems/deliver-1.3.3/lib/deliver/commands_generator.rb:84:in `run'
from /Users/dimovdaniel/.rvm/gems/ruby-2.1.2@global/gems/deliver-1.3.3/lib/deliver/commands_generator.rb:12:in `start'
from /Users/dimovdaniel/.rvm/gems/ruby-2.1.2@global/gems/deliver-1.3.3/bin/deliver:5:in `<top (required)>'
from /Users/dimovdaniel/.rvm/rubies/ruby-2.1.2/bin/deliver:23:in `load'
from /Users/dimovdaniel/.rvm/rubies/ruby-2.1.2/bin/deliver:23:in `<main>'
from /Users/dimovdaniel/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval'
from /Users/dimovdaniel/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>'
Done
Is there any plan to add skip_waiting_for_build_processing option to "tifast send"?
The combination of XCode 8.3 and an Titanium SDK less then 6 won't allow usage of the --legacy
param.
This shouldn't be a problem whereas the new findXCodeArchive
only is compatible with the way Titanium 6 builds. The archive ends up in a path relative to the project you're working on, but for Titanium 5 this still is the ~/Library/Developer/Xcode/Archives/
directory.
This worked in version 0.9.0, but became incompatible in version 0.9.1
Running tifast send
[ERROR] Missing required option: --distribution-name <name> [ERROR] Missing required option: --pp-uuid <uuid>
in index.js !line 555 you should add
buildArgs.push('-R');
buildArgs.push(cfg.team_name);
buildArgs.push('-P');
buildArgs.push(cfg.team_id);
Is there any other way I can contribute?
This could be accomplished with npm's semver-utils instead of parseInt: bumpBundleVersion.
That being said, I should just do it and submit a PR...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.