Skip to content
This repository has been archived by the owner on Jul 26, 2019. It is now read-only.

Same name tool provided by Apple #6

Closed
toshi0383 opened this issue Nov 5, 2016 · 2 comments
Closed

Same name tool provided by Apple #6

toshi0383 opened this issue Nov 5, 2016 · 2 comments

Comments

@toshi0383
Copy link

FYI... Did you know that the ipatool exists in Xcode ?

$ /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool --help
usage: ipatool <ipa-or-dir> [options] [--output=<ipa-or-dir>]
        --info                       Prints information about the contents of the IPA
        --validate                   Performs a variety of checks on the input IPA, reporting any errors or warnings on stderr as well as
                                     in the output JSON file (if one is requested)
        --compile-bitcode            Compile any bitcode that's in the IPA; if there is none, a warning is emitted but it's not an error
                                     If thinning is also enabled, the Bitcode won't be in any thinned IPAs
        --create-thinned=DEVICE      Create thinned IPAs for devices with the given identifier
                                     The identifier is either a device identifier or the special name 'all' to generate all supported variants
        --skip-thinned=DEVICE        When used with --create-thinned=all, skip this device
                                     This allows --create-thinned=all to exclude certain devices
                                     It can be passed multiple times
        --create-asset-packs         Create asset packs from any on-demand resources
                                     The asset packs will be created in a directory next to the output
                                     If thinning is also enabled, the created asset packs will also be thinned for each set of traits
                                     If the --asset-manifest-url-prefix option is also provided, and AssetPackManifest.plist will be created
        --asset-manifest-url-prefix=URL
                                     URL prefix string for URLs in AssetPackManifest.plist
                                     This string will be prepended verbatim to each asset pack URL in generated AssetPackManifest.plist files
                                     Use this option to specify which server and subpath will vend the final, streamable asset packs
                                     If this option is omitted when --create-asset-packs is specified, no AssetPackManifest.plist will be created
        --create-app-placeholders    Create placeholder app bundles for each created application
                                     Placeholders just contain the Info.plist files, with additional information about ODR sizes etc
    -o, --output=PATH                Output path (either an non-thin IPA or directory of thin IPAs, depending on other options)
                                     When thinning, this directory will be created to contain a set of output IPAs
                                     Otherwise, this directory will be the single output IPA
    -t, --tmpdir=PATH                Path of directory to use as temporary directory
                                     The directory will be created, if needed, but will not be removed at the end
                                     If this option isn't provided, ipatool will create a unique temporary directory and remove it upon exit
    -j, --jobs=N                     Specifies the number of jobs to run simultaneously during bitcode compilation
        --toolchain=DIR              Specify the toolchain path, if it isn't in the standard location realtive to ipatool
                                     This is normally not needed when invoking ipatool as part of AppStoreTools, but is used when invoked by Xcode.app
        --platforms=DIR              Specify the platforms path, if it isn't in the standard location realtive to ipatool
                                     This is normally not needed when invoking ipatool as part of AppStoreTools, but is used when invoked by Xcode.app
        --use-assetutil-eql=BOOL
        --json=OUTPUT                Provide output in JSON format. Other programs invoking ipatool are expected to use this option instead
                                     of trying to parse the default format. The output is a sequence of JSON dictionaries representing operations and issues.
    -v, --verbose                    Increase the verbosity level; this option can be specified multiple times, each time making output more verbose
    -q, --quiet                      Makes ipatool completely silent; if this option is provided along with -v, the last one wins
        --help                       Show this message

I didn't know until today.
I think you should rename your tool if you are to keep developing features.

@svdo
Copy link
Owner

svdo commented Nov 6, 2016

I saw something like that indeed a while ago. Strangely, when I run the command, this is what I get:

> $ /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool --help                                                                                                             
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]
/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:1432: warning: assigned but unused variable - minVersion
/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:1432: warning: assigned but unused variable - sdkVersion
/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:1441: warning: assigned but unused variable - sourceVersion
/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:1542: warning: shadowing outer local variable - node
/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:2263: warning: shadowing outer local variable - machoFile
/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:2263: warning: shadowing outer local variable - machoImage
/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:2444: warning: assigned but unused variable - flag
/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:2444: warning: assigned but unused variable - transformer
/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:2661: warning: assigned but unused variable - exc
/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:708: warning: assigned but unused variable - output
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- cfpropertylist (LoadError)
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:15:in `<main>'

Also, in the file itself, it discourages using it yourself, it is only supposed to be used by Xcode:

#  A utility for performing various operations on IPA files.  This script is
#  intended to be invoked by xcodebuild.  It is not intended for direct use,
#  or for invocation in any manner other than through xcodebuild.  Any other
#  use is unsupported.

But I agree about the renaming, don't think I will have time for that. Pull requests are welcome of course.

@svdo
Copy link
Owner

svdo commented Jul 26, 2019

I'm archiving this repo. After all these years this is probably not the best way to do things anymore.

@svdo svdo closed this as completed Jul 26, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants