provise 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: dad5d5179c3d1afd36717680f63598e85615a50f
4
+ data.tar.gz: 78724260ae17944dbc304ce676a55ed69d85d99e
5
+ SHA512:
6
+ metadata.gz: 0c13af65294834c4384e8548d84dae8f50456743664fea0042440a4bf6dfbf4904842189554f017dab178cae7827cf80f5ad8515fefc92e626c963fac9c4585f
7
+ data.tar.gz: 21ba826923263546288d59829afc4fc98b7bd5286fa29e795df9d2ecbb3bd8a4e0f4904178fd1f3080e172ea0e8ffb76ec276dd8d36f821315e0e50c380a0a22
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source :rubygems
1
+ source "https://rubygems.org"
2
2
 
3
3
  gemspec
data/Gemfile.lock CHANGED
@@ -1,15 +1,15 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- provise (0.0.1)
4
+ provise (0.0.2)
5
5
  commander (~> 4.1.2)
6
6
 
7
7
  GEM
8
- remote: http://rubygems.org/
8
+ remote: https://rubygems.org/
9
9
  specs:
10
- commander (4.1.2)
10
+ commander (4.1.6)
11
11
  highline (~> 1.6.11)
12
- highline (1.6.15)
12
+ highline (1.6.21)
13
13
 
14
14
  PLATFORMS
15
15
  ruby
data/README.md CHANGED
@@ -1,18 +1,53 @@
1
- # provise
1
+ # Provise
2
2
 
3
3
  CLI used to change the provisioning profile of an iOS App (.ipa file). Also makes possible changing the bundle identifier if the new provisioning has a different one.
4
4
 
5
5
  ## Installation
6
-
7
- $ gem install provise
6
+ ```
7
+ $ gem install provise
8
+ ```
8
9
 
9
10
  ## Usage
10
11
 
11
12
  To simply change the provisioning
12
13
 
13
- $ resign ipa -i Application.ipa -p foo/bar.mobileprovision -c \"iPhone Distribution: Bla Bla\"
14
-
14
+ ```
15
+ $ resign ipa -i Application.ipa -p foo/bar.mobileprovision -c \"iPhone Distribution: Bla Bla\"
16
+ ```
17
+
15
18
  To change the peovisionig and also the bundle identifier
19
+ ```
20
+ $ resign ipa -i Application.ipa -p foo/bar.mobileprovision -c "iPhone Distribution: Bla Bla" -b br.com.new.bundle.identifier
21
+ ```
22
+
23
+ Help
24
+
25
+ ```
26
+ $ resign ipa --help
27
+ ```
28
+
29
+ ## Reference
30
+
31
+ Based on Erik's (http://stackoverflow.com/users/487353/erik) original answer at
32
+ http://stackoverflow.com/a/6921689/429521
33
+
34
+
35
+ ## Changelog
36
+
37
+ - **0.0.2**
38
+ - Added bundle version and entitlements file parameters (thanks [eilers](https://github.com/eilers))
39
+ - **0.0.1**
40
+ - Initial release
41
+
42
+ ## Contact
43
+
44
+ Felipe Sabino
45
+
46
+ - http://github.com/felipesabino
47
+ - http://twitter.com/felipesabino
48
+ - http://stackoverflow.com/users/429521/felipe-sabino
49
+ - felipe@sabino.me
16
50
 
17
- $ resign ipa -i Application.ipa -p foo/bar.mobileprovision -c "iPhone Distribution: Bla Bla" -b br.com.new.bundle.identifier
51
+ ## License
18
52
 
53
+ Provise is available under the MIT license. See the LICENSE file for more info.
data/lib/provise.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Provise
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
@@ -11,6 +11,9 @@ command :ipa do |c|
11
11
  c.option '-p', '--provisioning PROVISIONING', 'Path to the provisioning profile file (generally a .mobileprovision file)'
12
12
  c.option '-c', '--certificate CERTIFICATE', 'Name of the Distribution Certificate name (copy it from Certificate detail\'s "Common name" at the Keychain Access)'
13
13
  c.option '-b', '--bundle BUNDLE', 'The new bundle identifier in case your new provisioning has a differente one'
14
+ c.option '--bundleVersionShort VERSIONSHORT', 'The new release version (CFBundleShortVersionString)'
15
+ c.option '--bundleVersion VERSION', 'The new build version (CFBundleVersion)'
16
+ c.option '--entitlementFile FILE', 'The new entitlement used for creating the signatures'
14
17
  c.option '-q', '--quiet', 'Supress warnings and info messages'
15
18
 
16
19
  c.action do |args, options|
@@ -21,6 +24,9 @@ command :ipa do |c|
21
24
  @provisioning_path = options.provisioning
22
25
  @certificate_name = options.certificate
23
26
  @new_bundle_identifier = options.bundle
27
+ @version_short = options.bundleVersionShort
28
+ @bundle_version = options.bundleVersion
29
+ @entitlement_file = options.entitlementFile;
24
30
 
25
31
  return unless validate_params!
26
32
 
@@ -43,11 +49,27 @@ command :ipa do |c|
43
49
  system "/usr/libexec/PlistBuddy -c \"Set :CFBundleIdentifier #{@new_bundle_identifier}\" #{@tmp_dir}/Payload/*.app/Info.plist"
44
50
  end
45
51
 
52
+ if @version_short
53
+ say "Changing CFBundleShortVersionString to #{@version_short}" unless options.quiet
54
+ system "/usr/libexec/PlistBuddy -c \"Set :CFBundleShortVersionString #{@version_short}\" #{@tmp_dir}/Payload/*.app/Info.plist"
55
+ end
56
+
57
+ if @bundle_version
58
+ say "Changing CFBundleVersion to #{@bundle_version}" unless options.quiet
59
+ system "/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion #{@bundle_version}\" #{@tmp_dir}/Payload/*.app/Info.plist"
60
+ end
61
+
62
+ @entitlement_parameter = "";
63
+ if @entitlement_file
64
+ say "Using entitlement file: #{@entitlement_file}" unless options.quiet
65
+ @entitlement_parameter = "--entitlements \"#{@entitlement_file}\""
66
+ end
67
+
46
68
  say "Replacing provisioning profile" unless options.quiet
47
69
  system "cp #{@provisioning_path} #{@tmp_dir}/Payload/*.app/embedded.mobileprovision"
48
70
 
49
71
  say "Replacing existing signatures" unless options.quiet
50
- system "/usr/bin/codesign -f -s \"#{@certificate_name}\" --resource-rules #{@tmp_dir}/Payload/*.app/ResourceRules.plist #{@tmp_dir}/Payload/*.app"
72
+ system "/usr/bin/codesign -f -s \"#{@certificate_name}\" #{@entitlement_parameter} --resource-rules #{@tmp_dir}/Payload/*.app/ResourceRules.plist #{@tmp_dir}/Payload/*.app"
51
73
 
52
74
 
53
75
  new_ipa_file = "#{@ipa_filename}.resigned.ipa"
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: provise
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 0.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Felipe Sabino
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-12-08 00:00:00.000000000 Z
11
+ date: 2014-05-16 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: commander
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -47,32 +44,25 @@ files:
47
44
  - provise.gemspec
48
45
  homepage: ''
49
46
  licenses: []
47
+ metadata: {}
50
48
  post_install_message:
51
49
  rdoc_options: []
52
50
  require_paths:
53
51
  - lib
54
52
  required_ruby_version: !ruby/object:Gem::Requirement
55
- none: false
56
53
  requirements:
57
- - - ! '>='
54
+ - - '>='
58
55
  - !ruby/object:Gem::Version
59
56
  version: '0'
60
- segments:
61
- - 0
62
- hash: 1835449240709771196
63
57
  required_rubygems_version: !ruby/object:Gem::Requirement
64
- none: false
65
58
  requirements:
66
- - - ! '>='
59
+ - - '>='
67
60
  - !ruby/object:Gem::Version
68
61
  version: '0'
69
- segments:
70
- - 0
71
- hash: 1835449240709771196
72
62
  requirements: []
73
63
  rubyforge_project:
74
- rubygems_version: 1.8.24
64
+ rubygems_version: 2.2.2
75
65
  signing_key:
76
- specification_version: 3
66
+ specification_version: 4
77
67
  summary: Re-sign iOS Apps (.ipa files)
78
68
  test_files: []