Giter Club home page Giter Club logo

fastlane's Issues

Evolution: give the Snapfile as parameter

Original issue by @letatas - Imported from fastlane/snapshot#7

Hello,

This time it's more some kind of evolution, I would appreciate the possibility of giving the Snapfile as a parameter. In fact, when your script is different, for instance, for iPad and iPhone, it would be great if we could put:

snapshot Snapfile_iPhone
snapshot Snapfile_iPad

Well, if you think it's a good idea!

Disable submit for review

Original issue by @DenHeadless - Imported from fastlane/deliver#33

It would be nice if we had an option to disable immediate submission for review. It's always nice to walk through all information to check it before pushing scary red button, that will take 5-10 days on the App Store review team side.

I searched through documentation and didn't find it. Do you have such option in plans or implemented?

IPA upload operation does not fail if there's a transporter fatal error

Original issue by @paweldudek - Imported from fastlane/deliver#27
  1. Attempt to upload a new version to iTunes Connect using IpaUploader. It will ultimately use transporter to upload the binary.
  2. Upload fails to a specific error (see below)
  3. Deliver will proceed with publishing to iTunes Connect anyway.

In my case there was already such a version existing on iTunes Connect. However it'd be nice if Deliver would raise an exception if there are any problems with upload.

iTunes connect error:

DEBUG [2014-11-20 12:33:32.74]: [Transpoter Output]: ERROR: ERROR ITMS-9000: "Redundant Binary Upload. There already exists a binary upload with build '244' for version '1.12.0'"
DEBUG [2014-11-20 12:33:32.74]: [Transpoter Output]: ERROR: ERROR ITMS-9000: "This bundle is invalid. The value for key CFBundleShortVersionString [1.12.0] in the Info.plist file must contain a higher version than that of the previously approved version [1.12.0]."

Errors during install

Original issue by @toddfreese - Imported from fastlane/frameit#5

I'm getting some errors during the install on MacOSX 10.9.5. Should I be concerned about these?

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin13/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/narwhal/bin in PATH, mode 040777
Fetching: highline-1.6.21.gem (100%)
Successfully installed highline-1.6.21
Fetching: colored-1.2.gem (100%)
Successfully installed colored-1.2
Fetching: commander-4.2.1.gem (100%)
Successfully installed commander-4.2.1
Fetching: addressable-2.3.6.gem (100%)
Successfully installed addressable-2.3.6
Fetching: fastimage-1.6.4.gem (100%)
Successfully installed fastimage-1.6.4
Fetching: subexec-0.2.3.gem (100%)
Successfully installed subexec-0.2.3
Fetching: mini_magick-3.8.1.gem (100%)
Successfully installed mini_magick-3.8.1
Fetching: security-0.1.3.gem (100%)
Successfully installed security-0.1.3
Fetching: mini_portile-0.6.0.gem (100%)
Successfully installed mini_portile-0.6.0
Fetching: nokogiri-1.6.3.1.gem (100%)
Building native extensions. This could take a while...
Building nokogiri using packaged libraries.
ERROR: Error installing frameit:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin13/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/narwhal/bin in PATH, mode 040777

Building nokogiri using packaged libraries.

libiconv is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
--help
--clean
--use-system-libraries
--enable-static
--disable-static
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
--enable-cross-build
--disable-cross-build

Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.3.1 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.3.1/ext/nokogiri/gem_make.out

Remove supported language restrictions

Original issue by @vytis - Imported from fastlane/snapshot#19

I am using snapshot as a runner for UI tests. Test suite takes screenshots at every step and we then inspect them manually.

The problem I am having is that we support Arabic, but it is not in the language list. I have added it manually to languages.rb and it seems to be working fine. What was the initial idea about that list? Does it contain only those languages that iTunes Connect supports?

I think it would be better to remove that check altogether, then it would be possible to use any language supported by iOS.

Clear simulator

Original issue by @woutergoossens - Imported from fastlane/snapshot#12

Hi,

Is there a command to clear the simulator (like reset contents and settings) before running the snapshots?

This is because I have a login screen and after the login it would show the main screen and my UI Automation script also included filling in the credentials in the login screen.
And when I run the snapshot command for the second time, it would start with the main screen and the snapshot script will fail.

Would be great if that is possible.. :)

Thanks!

"Instruments Trace Error : Target failed to run" not trying to retry

Original issue by @achlee - Imported from fastlane/snapshot#21

It looks like this is supposed to be handled gracefully, but this doesn't seem to work for me. Here is the error:

INFO [2014-11-21 22:39:26.51]: Running tests on iPhone 4s (8.1 Simulator) in language en-US
ERROR [2014-11-21 22:39:29.44]: Waiting for device to boot...
Instruments Trace Error : Target failed to run: The operation couldn’t be completed. (FBSOpenApplicationErrorDomain error 8.) : Failed to launch process with bundle identifier 'com.example.app'

ERROR [2014-11-21 22:39:29.44]: invalid byte sequence in US-ASCII

No support for iPad?

Original issue by @flainez - Imported from fastlane/snapshot#15

Hello,

First of all thanks a lot for creating this, I'm still experimenting with it, but I feel like it will save me countless hours.

It seems that the current code does not support iPad devices... is that true? Are there plans to include it? I'm looking to the code and trying to figure it out. Unfortunately I have no experience with Ruby and I'm a bit lost... if I make it work with the iPad simulators I'll submit a Pull Request. Meanwhile I wanted to open this issue as an Enhancement request.

Thanks once again for this great work!
Fidel.

Landscape naming

Original issue by @letatas - Imported from fastlane/snapshot#6

Hello (again),

When the app runs in landscape the naming of the snapshot of captureLocalizedScreenshot(). Morevover, the rect.size.height is a float and sometimes the test ==667 does not work. To fix both problems, here what I've done :

var theSize = (rect.size.width > rect.size.height)?rect.size.width.toFixed():rect.size.height.toFixed();

if (model.match(/iPhone/))
{
if (theSize > 667) {
model = "iPhone6Plus";
} else if (theSize == 667) {
model = "iPhone6";
} else if (theSize == 568){
model = "iPhone5";
} else {
model = "iPhone4";
}
}
else
{
model = "iOS-iPad";
}

Well thanks again for this tool.

US-ASCII (ArgumentError)

Original issue by @woutergoossens - Imported from fastlane/snapshot#9

Hi,

Do I need to open the simulator before I run "snapshot" or will snapshot open the simulator itself?

I have an error when I run it

/Library/Ruby/Gems/2.0.0/gems/snapshot-0.2.4/lib/snapshot/snapshot_file.rb:86:in `split': invalid byte sequence in US-ASCII (ArgumentError)

I am trying with the Example project and I have the same issue. I tried with opening the simulator but without success..

Wouter

Failure during quick start with existing app

Original issue by @interealtime - Imported from fastlane/deliver#2

Deliver installed fine. I then created a folder for it (~/Developer/itc/NightCap/) and CD'd into that folder in terminal.

I then ran 'deliver init' to create the initial deliver file for an existing app. It requested access to my ITC credentials (already in keychain), I gave it 'always' permission.

The App ID I copied + pasted from ITC.

At this point it seems to download the package from ITC but then fails to read a file. I've tried a couple of times with 2 different app IDs, same result. Stack trace:

deliver init --trace
Do you want Deliver to automatically create the Deliverfile for you based on your current app? (y/n)
y


First, you need to login with your iTunesConnect credentials. 
This is necessary to fetch the latest metadata from your app and use it to create a Deliverfile for you.
If you have previously entered your credentials already, you will not be asked again.

App Identifier of your app (e.g. at.felixkrause.app_name): com.interealtime.NightCap
INFO [2014-11-05 21:24:22.78]: Going to download app metadata from iTunesConnect
INFO [2014-11-05 21:24:23.08]: Successfully downloaded the latest package from iTunesConnect.
/Library/Ruby/Gems/2.0.0/gems/deliver-0.1.1/lib/deliver/app_metadata.rb:431:in `read': No such file or directory - /tmp/486414195.itmsp//metadata.xml (Errno::ENOENT)
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.1.1/lib/deliver/app_metadata.rb:431:in `parse_package'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.1.1/lib/deliver/app_metadata.rb:63:in `initialize'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.1.1/lib/deliver/app.rb:105:in `new'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.1.1/lib/deliver/app.rb:105:in `metadata'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.1.1/lib/deliver/deliverfile/deliverfile_creator.rb:56:in `create_based_on_identifier'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.1.1/lib/deliver/deliverfile/deliverfile_creator.rb:27:in `create'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.1.1/lib/deliver/commands/init.rb:10:in `block (2 levels) in <top (required)>'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:155:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/runner.rb:421:in `run_active_command'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/runner.rb:81:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/delegates.rb:8:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/import.rb:10:in `block in <top (required)>'

Unpublished apps are not supported

Original issue by @qmoya - Imported from fastlane/deliver#9

First of all, congrats for the program—I'm sure it's going to be a massive success.

I'm working on an app that has never been released, and the code seems not to take that into account:

def get_live_version(app)
  begin
    verify_app(app)

    open_app_page(app)

    return first(".status.ready").text.split(" ").first
  rescue Exception => ex
    error_occured(ex)
  end
end

Therefore, I get an error:

(...)deliver/itunes_connect.rb:177:in `get_live_version': undefined method `text' for nil:NilClass (NoMethodError)

Can something be done here?

Thanks!

Transporter Warnings & Errors should be more visible

Original issue by @paweldudek - Imported from fastlane/deliver#28

This is more of a general note, but it'd be great if Deliver could display warnings generated by Transporter in a bit more... visible manner. 😉

For instance, right now warnings get lost in huge amounts of additional logs:

DEBUG [2014-11-20 12:33:32.74]: [Transpoter Output]: ERROR: ERROR ITMS-9000: "Redundant Binary Upload. There already exists a binary upload with build '244' for version '1.12.0'"
DEBUG [2014-11-20 12:33:32.74]: [Transpoter Output]: ERROR: ERROR ITMS-9000: "This bundle is invalid. The value for key CFBundleShortVersionString [1.12.0] in the Info.plist file must contain a higher version than that of the previously approved version [1.12.0]."
DEBUG [2014-11-20 12:33:32.74]: [Transpoter Output]: DBG-X: The error code is: 1102
DEBUG [2014-11-20 12:33:32.74]: [Transpoter Output]: INFO: Done performing authentication.
DEBUG [2014-11-20 12:33:32.81]: [Transpoter Output]: INFO: The following warnings were received from Apple's web service ...
DEBUG [2014-11-20 12:33:32.81]: [Transpoter Output]: WARN: WARNING ITMS-9000: "Missing 64-bit support. Starting February 1, 2015, new iOS apps uploaded to the App Store must include 64-bit support and be built with the iOS 8 SDK, included in Xcode 6 or later. To enable 64-bit in your project, we recommend using the default Xcode build setting of “Standard architectures” to build a single binary with both 32-bit and 64-bit code."
DEBUG [2014-11-20 12:33:32.86]: [Transpoter Output]: DBG-X: Returning 1
INFO [2014-11-20 12:33:32.93]: Distributing the latest build to Beta Testers.
INFO [2014-11-20 12:33:32.95]: Logging into iTunesConnect

Would be great if we could have this printed at the end of upload process. Or perhaps written into a file. 😉

What I'd, ultimately, love to see is sort of a information that everything was validated and there were no errors/warnings when a build was uploaded (Xcode has a screen which says that exact thing).

Support iTunesConnect in different languages

Original issue by @Koani - Imported from fastlane/deliver#14

Trying to upload a new version with deliver I always get the following error:

"Can not create version 1.2.0 on iTunesConnect. Maybe it was already created."

The current app version on iTunesConnect is 1.1.4 so this should not be the problem.

Deliverfile:
default_language "de-DE"
email "xxxxxxxxx"
app_identifier "de.xxxxxxxxxx.xxx"
version '1.2.0' (error also occurs if removed)
ipa do
system("ipa build -w xxxxx.xcworkspace -c Release -s "xxxxxxxxxx" --archive")
"./xxxxxxxx.ipa"
end

Trace:
/Library/Ruby/Gems/2.0.0/gems/deliver-0.2.2/lib/deliver/itunes_connect.rb:516:in wait_for_elements': Couldn't find element '.page-subnav' after waiting for quite some time (Deliver::ItunesConnect::ItunesConnectGeneralError) from /Library/Ruby/Gems/2.0.0/gems/deliver-0.2.2/lib/deliver/itunes_connect.rb:121:inopen_app_page'
from /Library/Ruby/Gems/2.0.0/gems/deliver-0.2.2/lib/deliver/itunes_connect.rb:207:in create_new_version!' from /Library/Ruby/Gems/2.0.0/gems/deliver-0.2.2/lib/deliver/app.rb:138:increate_new_version!'
from /Library/Ruby/Gems/2.0.0/gems/deliver-0.2.2/lib/deliver/deliver_process.rb:94:in verify_app_on_itunesconnect' from /Library/Ruby/Gems/2.0.0/gems/deliver-0.2.2/lib/deliver/deliver_process.rb:30:inrun'
[...]

Thanks for help.

Ipad Air 2 support.

Original issue by @toddfreese - Imported from fastlane/frameit#6

The apple web site URL provided does not have downloads for the iPad Air version 1. They just have iPad Air 2.

But frameit seems to be looking for iPad Air 1 files. Is there an update for the new apple device artwork?

Adding text and backgrounds to images

Original issue by @Frankacy - Imported from fastlane/frameit#3

Is there any interest in modifying the script to be able to inset the image, change the background, add text, etc? I love the idea behind frameit, but I think we could really automate the process even further.

This is something I'll gladly work on if you think it's worth it, even though I'll have to pick up Ruby again :)

Incorrectly shows error that App Identifier don't match

Original issue by @carloe - Imported from fastlane/deliver#15

I have a precompiled IPA. Shenzhen's ipa info shows the correct App ID. But when I try to submit using deliver I get error: App Identifier of IPA does not match with the given one ('net.app.id' != 'com.app.frameworkid').

It looks like it's trying to validate the Deliverfile app id against the app id of one of the frameworks I use in my project rather than the app id of the project itself.

deliver init fails with no metadata found error

Original issue by @paweldudek - Imported from fastlane/deliver#21

I'm moving this a separate issue from fastlane-old/deliver#19 (comment) as it seems its a whole different problem.

I'm receiving following error after running deliver init

INFO [2014-11-14 17:34:39.69]: Going to download app metadata from iTunesConnect
INFO [2014-11-14 17:34:40.13]: Successfully downloaded the latest package from iTunesConnect.
/Users/eldudi/.rvm/gems/ruby-2.0.0-p576@ios/gems/deliver-0.3.1/lib/deliver/app_metadata.rb:431:in `read': No such file or directory - /tmp/627716885.itmsp//metadata.xml (Errno::ENOENT)
    from /Users/eldudi/.rvm/gems/ruby-2.0.0-p576@ios/gems/deliver-0.3.1/lib/deliver/app_metadata.rb:431:in `parse_package'
    from /Users/eldudi/.rvm/gems/ruby-2.0.0-p576@ios/gems/deliver-0.3.1/lib/deliver/app_metadata.rb:63:in `initialize'
    from /Users/eldudi/.rvm/gems/ruby-2.0.0-p576@ios/gems/deliver-0.3.1/lib/deliver/app.rb:112:in `new'
    from /Users/eldudi/.rvm/gems/ruby-2.0.0-p576@ios/gems/deliver-0.3.1/lib/deliver/app.rb:112:in `metadata'
    from /Users/eldudi/.rvm/gems/ruby-2.0.0-p576@ios/gems/deliver-0.3.1/lib/deliver/deliverfile/deliverfile_creator.rb:56:in `create_based_on_identifier'
    from /Users/eldudi/.rvm/gems/ruby-2.0.0-p576@ios/gems/deliver-0.3.1/lib/deliver/deliverfile/deliverfile_creator.rb:27:in `create'
    from /Users/eldudi/.rvm/gems/ruby-2.0.0-p576@ios/gems/deliver-0.3.1/lib/deliver/commands/init.rb:10:in `block (2 levels) in <top (required)>'
    from /Users/eldudi/.rvm/gems/ruby-2.0.0-p576@ios/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
    from /Users/eldudi/.rvm/gems/ruby-2.0.0-p576@ios/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
    from /Users/eldudi/.rvm/gems/ruby-2.0.0-p576@ios/gems/commander-4.2.1/lib/commander/command.rb:155:in `run'
    from /Users/eldudi/.rvm/gems/ruby-2.0.0-p576@ios/gems/commander-4.2.1/lib/commander/runner.rb:421:in `run_active_command'
    from /Users/eldudi/.rvm/gems/ruby-2.0.0-p576@ios/gems/commander-4.2.1/lib/commander/runner.rb:81:in `run!'
    from /Users/eldudi/.rvm/gems/ruby-2.0.0-p576@ios/gems/commander-4.2.1/lib/commander/delegates.rb:8:in `run!'
    from /Users/eldudi/.rvm/gems/ruby-2.0.0-p576@ios/gems/commander-4.2.1/lib/commander/import.rb:10:in `block in <top (required)>'

From things that are special about this app: the bundle identifier that's visible in Info.plist is different from the one that is actually on the app store (the one from .plist has an additional suffix). Is there any chance this could break things?

New build of app not being copied to simulator

Original issue by @muZZkat - Imported from fastlane/snapshot#18

Hi,

I just made some changes to one of my screens to load some dummy data, when I run snapshot it seems to be building correctly but the changes are not being to the simulator. If I delete the app in the simulator its correctly installed, but if I just run snapshot it doesn't seem to push the new app.

Have you seen anything like this? Any suggestion? Logging?

Murray

Failure during init

Original issue by @hdoria - Imported from fastlane/deliver#7
deliver init --trace
Do you want Deliver to automatically create the Deliverfile for you based on your current app? (y/n)
y

App Identifier of your app (e.g. at.felixkrause.app_name): br.com.banese.app
ERROR [2014-11-07 22:13:23.07]: Could not find object 'https://itunes.apple.com/lookup?bundleId=br.com.banese.app' using the iTunes API
INFO [2014-11-07 22:13:23.07]: Could not find Apple ID based on the app identifier in the US App Store. Maybe the app is not yet in the store?

Apple ID of your app (e.g. 284882215): 727238928

INFO [2014-11-07 22:13:28.38]: Going to download app metadata from iTunesConnect
INFO [2014-11-07 22:13:34.47]: Successfully downloaded the latest package from iTunesConnect.
INFO [2014-11-07 22:13:34.47]: Modifying version '2.1' of app br.com.banese.app
~/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/deliver-0.2.0/lib/deliver/deliverfile/deliverfile_creator.rb:79:in `generate_deliver_file': uninitialized constant Deliver::DeliverfileCreator::JSON (NameError)
    from ~/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/deliver-0.2.0/lib/deliver/deliverfile/deliverfile_creator.rb:59:in `create_based_on_identifier'

Today Extension Targets not Launched

Original issue by @hactar - Imported from fastlane/snapshot#14

I am unsure if this is an instruments or snapshot issue, but reporting it here.

I'm trying to automate today-extension creation too. If you pick a today extension target in snapshot (regardless of if you're using xctool or the fallback), the app containing the widget instead of the widget is launched.

A demo project can be downloaded here: http://subzero.eu/wp-content/uploads/2014/11/Widget-Snapshot-Test.zip

Replication:

  1. extract the project
  2. launch snapshot
  3. pick the widget target

Expected results:
The widget launches, allowing snapshot to take a picture

Actual results:
The containing app launches.

Feature Request: Setup and Teardown Methods

Original issue by @rrichter - Imported from fastlane/snapshot#11

Wouldn't it be great to have setup and tearDown -methods which run in between language and device changes ?

Usecase(s)

  1. Clean iossimulator before each run to have a clean state
  2. Populate databases and / or user profiles
  3. ...

Additions to Snapfile:

# Shell command ran **before** device change
setup_device_change './setup_device.sh'

# Shell command ran **after** device change 
teardown_device_change './teardown_device.sh'

# Shell command ran **before** language change
setup_language_change './setup_language.sh'

# Shell command ran **after** language change 
teardown_language_change './teardown_language.sh'

Additions to Runner.rb

SnapshotConfig.shared_instance.devices.each do |device|
       # Run device specific setup methods
        SnapshotConfig.shared_instance.languages.each do |language|
          # Run device specific setup methods

          ...
          end
        end
      end

What do you think?

UIAutomation Error: The operation couldn’t be completed. (com.apple.instruments error -6.)")

Original issue by @rrichter - Imported from fastlane/snapshot#10

Hi Felix,

thanks a lot for your great work on snapshot! It's quite a handy 👍

Running snapshot --trace with Xcode 6.1 / iOS 8.1 / OSX 10.10.1 gives me the following error message:

INFO [2014-11-16 13:57:00.26]: BUILD SUCCEEDED
INFO [2014-11-16 13:57:00.26]: Running tests on iPhone 6 (8.1 Simulator) in language en-US
ERROR [2014-11-16 13:57:00.87]: Instruments Trace Error : Failed to load template 'Automation/ -- file:///Users/redacted/' (Error Domain=com.apple.instruments Code=-6 "Document Missing Template Error: The operation couldn’t be completed. (com.apple.instruments error -6.)")

ERROR [2014-11-16 13:57:00.87]: UIAutomation Error: The operation couldn’t be completed. (com.apple.instruments error -6.)")
INFO [2014-11-16 13:57:00.89]: Successfully created HTML file with all the screenshots: ./screenshots/screenshots.html
ERROR [2014-11-16 13:57:00.89]: -----------------------------------------------------------
ERROR [2014-11-16 13:57:00.89]: UIAutomation Error: The operation couldn’t be completed. (com.apple.instruments error -6.)")
ERROR [2014-11-16 13:57:00.89]: -----------------------------------------------------------
/Library/Ruby/Gems/2.0.0/gems/snapshot-0.2.4/lib/snapshot/runner.rb:37:in `work': Finished generating 0 screenshots with 1 errors. (RuntimeError)
    from /Library/Ruby/Gems/2.0.0/gems/snapshot-0.2.4/bin/snapshot:33:in `block (2 levels) in <top (required)>'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:155:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/runner.rb:421:in `run_active_command'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/runner.rb:81:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/delegates.rb:8:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/import.rb:10:in `block in <top (required)>'

I traced it back to:

Runner.rb

def generate_test_command(device, language, app_path)
      script_path = SnapshotConfig.shared_instance.js_file

      [
        "instruments",
        "-w '#{device}'",
        "-D '#{TRACE_DIR}/trace'",
        "-t 'Automation'",
        "'#{app_path}'",
        "-e UIARESULTSPATH '#{TRACE_DIR}'",
        "-e UIASCRIPT '#{script_path}'",
        "-AppleLanguages '(#{language})'",
        "-AppleLocale '#{language}'" 
      ].join(' ')

I suspect -t 'Automation' to be deprecated, shouldn't this be

instruments -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate [... other params ...]

?

Thanks!
Robert

Generate screenshot thumbnails for html file

Original issue by @vytis - Imported from fastlane/snapshot#13

The project I am using snapshot for at the moment supports 13 languages. Even taking only 10 screenshots for each language produces around 150mb worth of screenshots.
Safari seems to be having trouble when displaying the generated html file. It is still usable, but barely. Not sure what will happen when I will add the new iPhones and the iPad to the list of devices though...

iTunes Connect - shows login failed

Original issue by @paweldudek - Imported from fastlane/deliver#19

It seems that deliver fails to parse website if Apple adds an additional information alert to the top of the window.

Here's the stack trace:

Error logging in user (...) with the given password. Make sure you entered them correctly.
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/deliver-0.3.1/lib/deliver/itunes_connect.rb:96:in `rescue in login'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/deliver-0.3.1/lib/deliver/itunes_connect.rb:92:in `login'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/deliver-0.3.1/lib/deliver/itunes_connect.rb:58:in `initialize'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/deliver-0.3.1/lib/deliver/app.rb:69:in `new'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/deliver-0.3.1/lib/deliver/app.rb:69:in `itc'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/deliver-0.3.1/lib/deliver/app.rb:76:in `get_app_status'
/Users/paweldudek/Workspace/showcase-ios/Project/ios-build/deliver.rake:9:in `block (2 levels) in <top (required)>'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/task.rb:246:in `call'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/task.rb:246:in `block in execute'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/task.rb:241:in `each'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/task.rb:241:in `execute'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/task.rb:184:in `block in invoke_with_call_chain'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/task.rb:177:in `invoke_with_call_chain'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/task.rb:170:in `invoke'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/application.rb:143:in `invoke_task'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/application.rb:101:in `block (2 levels) in top_level'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/application.rb:101:in `each'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/application.rb:101:in `block in top_level'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/application.rb:110:in `run_with_threads'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/application.rb:95:in `top_level'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/application.rb:73:in `block in run'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/application.rb:160:in `standard_exception_handling'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/gems/rake-10.0.4/lib/rake/application.rb:70:in `run'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/bin/ruby_executable_hooks:15:in `eval'
/Users/paweldudek/.rvm/gems/ruby-2.0.0-p576@ios/bin/ruby_executable_hooks:15:in `<main>'

See the attached screenshot. Stack and error suggest that signing fail, though the screenshot clearly states that I've been logged in 😉

error1415869705

I'm also attaching part of the web page source code as it might be helpful:

<!-- "Warnings" (non-fatal warning messages) -->
<div id="warnings" class="homepage-msg-container ng-scope" ng-show="hasWarnings">
    <div class="pagemessage warning">
        <!-- ngRepeat: warning in warnings --><p ng-repeat="warning in warnings" class="ng-scope">
            <span ng-bind-html="showHtml(warning.header)" class="alertHeader ng-binding">Agreements, Tax, and Banking</span>
            <span ng-bind-html="showHtml(warning.message)" class="alertMsg ng-binding"><p>An updated contract is now available. Before you can offer your content in new iTunes Store territories, a user with the Legal role must agree to the new contract in the <strong>Agreements, Tax, and Banking</strong> module.<br><br>If your organization does not have a Legal user, see the <a href="/WebObjects/iTunesConnect.woa/wa/jumpTo?page=faqIndex&amp;qa=createlegaluser">Contracts FAQ</a> for details on how to create one.</p></span>
        </p><!-- end ngRepeat: warning in warnings -->
    </div>
</div>


<!-- News Feed -->
<div id="news" class="homepage-msg-container ng-scope" ng-show="hasNews">
    <div class="news-container" ng-class="{'truncated' : newsTruncated, 'show-toggle' : hasLongNews }">
    <!-- <div class="news-container truncated"> -->

        <h1 class="ng-binding">News</h1>
        <div class="ellipsis">
            <div>
                <ul>
                    <!-- ngRepeat: newsitem in news --><li ng-repeat="newsitem in news" class="ng-scope">
                        <div ng-bind-html="showHtml(newsitem.header)" class="newsheader ng-binding"><h2><b>TestFlight Beta Testing for External Testers</b></h2></div>
                        <div ng-bind-html="showHtml(newsitem.message)" class="newstxt ng-binding"><p>You can now invite up to 1000 users to test prerelease builds of your app. To do so, go to External Testers in Prerelease for the app that you want to test and add&nbsp;external testers simply by sending an email invitation. The TestFlight app will allow them to install the prerelease build on their iOS device, receive updates, and provide feedback, all within the TestFlight app. </p><p><a href="https://itunesconnect.apple.com/downloads/Documentation/TestFlight-v09-iTC-Export-sw.mov">For more information, watch the video tutorial.</a></p></div>
                    </li><!-- end ngRepeat: newsitem in news -->
                </ul>
            </div>
        </div>

        <a class="show-more-news" href="javascript:void(0)" ng-click="toggleNewsVisibility()">
            <span ng-show="newsTruncated" class="ng-binding ng-hide">More</span>
            <span ng-show="!newsTruncated" class="ng-binding">Less</span>
        </a>
    </div>
</div>

pass also regional settings at building

Original issue by @MichaelRohs - Imported from fastlane/snapshot#4

Currently snapshot passes the language at building. This provides screenshots in different languages, which is one of the top benefits of snapshot. When the app displays fields like date, time and amount, it would be appropriate to set also the corresponding region. Otherwise you will receive screenshots with german texts and dates in US date format or vice versa, for example. Thanks.

PDF Export - Japanese (Mona.ttf)

Original issue by @rrichter - Imported from fastlane/deliver#25

Hi Felix,

the PDF generation throws an error:

$ deliver --version
deliver 0.3.5

deliver --trace

[...]

INFO [2014-11-18 20:41:44.75]: [PDF] Exporting locale 'ja-JP' for app with title 'ミニペディア - オフライン百科事典 ウィキペディアリーダー'
/Library/Ruby/Gems/2.0.0/gems/ttfunk-1.4.0/lib/ttfunk.rb:34:in `verify_and_open': /Library/Ruby/Gems/2.0.0/gems/deliver-0.3.5/fonts/mona.ttf not found (ArgumentError)
    from /Library/Ruby/Gems/2.0.0/gems/ttfunk-1.4.0/lib/ttfunk.rb:13:in `open'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/font/ttf.rb:347:in `read_ttf_file'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/font/ttf.rb:27:in `initialize'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/font.rb:292:in `new'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/font.rb:292:in `load'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/font.rb:244:in `find_font'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/font.rb:58:in `font'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text/formatted/box.rb:429:in `find_font_for_this_glyph'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text/formatted/box.rb:433:in `find_font_for_this_glyph'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text/formatted/box.rb:411:in `block (2 levels) in analyze_glyphs_for_fallback_font_support'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text/formatted/box.rb:410:in `each_char'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text/formatted/box.rb:410:in `block in analyze_glyphs_for_fallback_font_support'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/font.rb:208:in `save_font'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text/formatted/box.rb:409:in `analyze_glyphs_for_fallback_font_support'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text/formatted/box.rb:391:in `block in process_fallback_fonts'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text/formatted/box.rb:390:in `each'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text/formatted/box.rb:390:in `process_fallback_fonts'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text/formatted/box.rb:371:in `normalize_encoding'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text/formatted/box.rb:351:in `normalized_text'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text/formatted/box.rb:215:in `block (3 levels) in render'
    from /Library/Ruby/Gems/2.0.0/gems/pdf-core-0.4.0/lib/pdf/core/text.rb:182:in `text_rendering_mode'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text/formatted/box.rb:212:in `block (2 levels) in render'
    from /Library/Ruby/Gems/2.0.0/gems/pdf-core-0.4.0/lib/pdf/core/text.rb:204:in `character_spacing'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text/formatted/box.rb:211:in `block in render'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/font.rb:208:in `save_font'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text/formatted/box.rb:210:in `render'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text.rb:365:in `fill_formatted_text_box'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text.rb:220:in `formatted_text'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/text.rb:168:in `text'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.3.5/lib/deliver/pdf_generator.rb:35:in `block (2 levels) in render'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.3.5/lib/deliver/pdf_generator.rb:29:in `each'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.3.5/lib/deliver/pdf_generator.rb:29:in `block in render'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/document.rb:226:in `instance_eval'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/document.rb:226:in `initialize'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/document.rb:142:in `new'
    from /Library/Ruby/Gems/2.0.0/gems/prawn-1.3.0/lib/prawn/document.rb:142:in `generate'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.3.5/lib/deliver/pdf_generator.rb:14:in `render'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.3.5/lib/deliver/deliver_process.rb:192:in `verify_pdf_file'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.3.5/lib/deliver/deliver_process.rb:42:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.3.5/lib/deliver/deliverer.rb:109:in `finished_executing_deliver_file'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.3.5/lib/deliver/deliverfile/deliverfile.rb:31:in `initialize'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.3.5/lib/deliver/deliverer.rb:61:in `new'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.3.5/lib/deliver/deliverer.rb:61:in `initialize'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.3.5/lib/deliver/commands/run.rb:12:in `new'
    from /Library/Ruby/Gems/2.0.0/gems/deliver-0.3.5/lib/deliver/commands/run.rb:12:in `block (2 levels) in <top (required)>'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:155:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/runner.rb:421:in `run_active_command'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/runner.rb:81:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/delegates.rb:8:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/import.rb:10:in `block in <top (required)>'

Should mona.ttf be shipped with deliver or are we supposed to download the font ourselves? If yes, would you be so kind and add documentation where to get it from and where to put it?

Thanks!
Robert

Hide output debug

Original issue by @RobertNNms - Imported from fastlane/deliver#23

Hi,

How is it possible to hide the traces, because the keyword "hide_transporter_output" seems not to work?

Deliverfile:

email '[email protected]'
hide_transporter_output # remove the '#' in the beginning of the line, to hide the output while uploading
app_identifier "com.xxx.xxxx"
apple_id "1234567"

....

Thanks
Robert

app.rb:34: Can't assign to nil

Original issue by @gijs - Imported from fastlane/deliver#10

Hi,

Thanks for making this, it's going to be a huge timesaver.

I'm getting the error app.rb:34: Can't assign to nil when I run deliver init. Any ideas?

This is on OS X Yosemite, using ruby-1.9.3-p547 (installed with RVM) and homebrew updated and phantomjs and XCode 6.1+commandline tools installed.

Installed deliver using:

$ sudo gem install deliver -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libxml2

deliver init output:

$ deliver init
/Users/gijs/.rvm/rubies/ruby-1.9.3-p547/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in `require': /Users/gijs/.rvm/gems/ruby-1.9.3-p547@global/gems/deliver-0.2.1/lib/deliver/app.rb:34: syntax error, unexpected tLABEL, expecting ')' (SyntaxError)
    def initialize(apple_id: nil, app_identifier: nil)
                            ^
/Users/gijs/.rvm/gems/ruby-1.9.3-p547@global/gems/deliver-0.2.1/lib/deliver/app.rb:34: Can't assign to nil
    def initialize(apple_id: nil, app_identifier: nil)
                                 ^
/Users/gijs/.rvm/gems/ruby-1.9.3-p547@global/gems/deliver-0.2.1/lib/deliver/app.rb:153: syntax error, unexpected keyword_end, expecting $end
    from /Users/gijs/.rvm/rubies/ruby-1.9.3-p547/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/gijs/.rvm/gems/ruby-1.9.3-p547@global/gems/deliver-0.2.1/lib/deliver.rb:4:in `<top (required)>'
    from /Users/gijs/.rvm/rubies/ruby-1.9.3-p547/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/gijs/.rvm/rubies/ruby-1.9.3-p547/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/gijs/.rvm/gems/ruby-1.9.3-p547@global/gems/deliver-0.2.1/bin/deliver:5:in `<top (required)>'
    from /Users/gijs/.rvm/rubies/ruby-1.9.3-p547/bin/deliver:23:in `load'
    from /Users/gijs/.rvm/rubies/ruby-1.9.3-p547/bin/deliver:23:in `<main>'
    from /Users/gijs/.rvm/gems/ruby-1.9.3-p547/bin/ruby_executable_hooks:15:in `eval'
    from /Users/gijs/.rvm/gems/ruby-1.9.3-p547/bin/ruby_executable_hooks:15:in `<main>'

Populating Database

Original issue by @muZZkat - Imported from fastlane/snapshot#17

Hi,

In your demo you use the example of populating the database, if you did run a script to pollute the database then I guess you would need to know the path of the .app?

I am trying to work out how I can preload a workout database onto the simulator app so I have some data for the screenshots.

Thanks

setup_for_language_change do |lang, device|
puts "Running #{lang} on #{device}"
system("./popuplateDatabase.sh")
end

beta_ipa activates wrong version/build

Original issue by @YuukiHogo - Imported from fastlane/deliver#31

Instead of activating newest build in currently testing version (at least same as uploading) it enables testing of top of list build/version. I.e. I have two version branches - 2.1 which is beta version and 2.0 version which is stable but needs testing of features before release. Uploading 2.0.5 version package activates disabled 2.1 testing.

In other words deliver must search for version same as uploaded and activate same build as uploaded package. If its hard to do, better to activate testing of top build of currently active for testing version.

Support quick switch between multiple Apple IDs

Original issue by @KrauseFx - Imported from fastlane/deliver#3

Most developers have more than one Apple ID (having only one wouldn't make code signing that much fun)

The idea would be to define the Apple ID in the Deliverfile and still store the password in the keychain.

Deliver will then lookup the password for a given Apple ID in the keychain. Therefore, once setup, you don't have to think about switching Apple accounts.

deliver init does not find app in App Store

Original issue by @objch - Imported from fastlane/deliver#13

Ran deliver init, entered my iTC username, and then:

App Identifier of your app (e.g. at.felixkrause.app_name): com.maker.polaris
ERROR [2014-11-11 17:47:14.60]: Could not find object 'https://itunes.apple.com/lookup?bundleId=com.maker.polaris' using the iTunes API
INFO [2014-11-11 17:47:14.60]: Could not find Apple ID based on the app identifier in the US App Store. Maybe the app is not yet in the store?

If I hit that itunes URL in my web browser it returns app data

PNG Transparent layer

Original issue by @letatas - Imported from fastlane/snapshot#8

Hello (for the last time today, I hope),

When I submitted my screenshots to Apple yesterday, they have been rejected because they contained a transparent layer. I've corrected that with a quick and dirty ImageMagick script, but would it be possible to save the screenshot PNGs directly without the alpha layer?

Thanks in advance,
M.

PS : If you cannot save without alpha, I could give you the script for you to propose it in your tool.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.