ios3 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/{sthree → ios3} +1 -1
- data/ios3.gemspec +4 -2
- data/lib/ios3/s3.rb +91 -24
- data/lib/ios3/version.rb +1 -1
- data/templates/manifest.plist.erb +4 -4
- data/test-data/build/iPhoneOS-8.0-Release/Entitlements.plist +10 -0
- data/test-data/build/iPhoneOS-8.0-Release/HWK.app.dSYM/Contents/Info.plist +20 -0
- data/test-data/build/iPhoneOS-8.0-Release/HWK.app.dSYM/Contents/Resources/DWARF/HWK +0 -0
- data/test-data/build/iPhoneOS-8.0-Release/HWK.app/Default-568h@2x.png +0 -0
- data/test-data/build/iPhoneOS-8.0-Release/HWK.app/Default-667h@2x.png +0 -0
- data/test-data/build/iPhoneOS-8.0-Release/HWK.app/Default-736h@3x.png +0 -0
- data/test-data/build/iPhoneOS-8.0-Release/HWK.app/HWK +0 -0
- data/test-data/build/iPhoneOS-8.0-Release/HWK.app/Info.plist +0 -0
- data/test-data/build/iPhoneOS-8.0-Release/HWK.app/PkgInfo +1 -0
- data/test-data/build/iPhoneOS-8.0-Release/HWK.app/ResourceRules.plist +25 -0
- data/test-data/build/iPhoneOS-8.0-Release/HWK.app/_CodeSignature/CodeResources +200 -0
- data/test-data/build/iPhoneOS-8.0-Release/HWK.app/embedded.mobileprovision +0 -0
- data/test-data/build/iPhoneOS-8.0-Release/HWK.ipa +0 -0
- data/test-data/build/iPhoneOS-8.0-Release/objs/init.mm +156 -0
- data/test-data/build/iPhoneOS-8.0-Release/objs/main.mm +19 -0
- metadata +36 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e0d696b5a1adbb60801704521811ca912192c60f
|
4
|
+
data.tar.gz: 030075eeec06ed0adf160ee904965db6e2542955
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 60cb16503e6c967863841a33c1e4c5386ee1bc9f02686fd87754e81d0484b8b6a7fa44dcce56b89c5a1075575f53674a552b211e3b7e65d544b1771d209cb84a
|
7
|
+
data.tar.gz: 5ec93fa23e1efe72faf27543273abe513a179646ad6008eb644939f597b10b2ed9f7c5799611ca4a5dbd2cfd4f47eb6664c34406463e6cf30ccea03c2894149e
|
data/bin/{sthree → ios3}
RENAMED
data/ios3.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["Andrew Gertig"]
|
10
10
|
spec.email = ["@gertig"]
|
11
11
|
spec.summary = %q{Distribute ad hoc iOS apps via Amazon S3}
|
12
|
-
spec.description = %q{This
|
12
|
+
spec.description = %q{This utility is focused primarily on apps that have been archived using RubyMotion.}
|
13
13
|
spec.homepage = "http://github.com/gertig/ios3"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
@@ -18,9 +18,11 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_dependency('aws-sdk', '~> 1.8')
|
21
|
+
# spec.add_dependency('aws-sdk', '~> 1.8')
|
22
|
+
spec.add_dependency('aws-sdk', '~> 2.0.24')
|
22
23
|
# spec.add_dependency('osx-plist', '~> 1.0')
|
23
24
|
spec.add_dependency("commander", "~> 4.3")
|
25
|
+
spec.add_dependency("CFPropertyList", "~> 2.3.0")
|
24
26
|
|
25
27
|
spec.add_development_dependency "bundler", "~> 1.6"
|
26
28
|
# spec.add_development_dependency "rake"
|
data/lib/ios3/s3.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
require 'aws-sdk'
|
2
|
+
require 'cfpropertylist'
|
3
|
+
require 'json'
|
2
4
|
|
3
5
|
# Workflow
|
4
6
|
# Add gem to Gemfile or gem install
|
@@ -26,17 +28,15 @@ require 'aws-sdk'
|
|
26
28
|
module S3
|
27
29
|
class Client
|
28
30
|
def initialize(access_key_id, secret_access_key, region)
|
29
|
-
|
31
|
+
# credentials = Aws.Credentials.new(access_key_id, secret_access_key)
|
32
|
+
# @s3 = Aws::S3::Client.new(credentials: credentials, region: region)
|
33
|
+
@s3 = Aws::S3::Client.new(:access_key_id => access_key_id,
|
30
34
|
:secret_access_key => secret_access_key,
|
31
35
|
:region => region)
|
32
36
|
end
|
33
37
|
|
34
38
|
def upload_build(ipa, options)
|
35
|
-
|
36
|
-
|
37
|
-
# @s3.buckets.create(options[:bucket]) if options[:create]
|
38
|
-
|
39
|
-
bucket = @s3.buckets[options[:bucket]]
|
39
|
+
path = options[:path]
|
40
40
|
|
41
41
|
files = []
|
42
42
|
files << ipa
|
@@ -45,11 +45,47 @@ module S3
|
|
45
45
|
basename = File.basename(file)
|
46
46
|
key = path ? File.join(path, basename) : basename
|
47
47
|
File.open(file) do |descriptor|
|
48
|
-
bucket
|
48
|
+
params = {body: descriptor, bucket: options[:bucket], key: key, acl: options[:acl]}
|
49
|
+
response = @s3.put_object(params)
|
50
|
+
|
51
|
+
upload_manifest(options)
|
49
52
|
end
|
50
53
|
end
|
51
54
|
end
|
52
55
|
|
56
|
+
private
|
57
|
+
|
58
|
+
def upload_manifest(options)
|
59
|
+
key = File.join(options[:path], "#{options[:cf_bundle_name]}.plist")
|
60
|
+
params = {body: build_manifest_plist(options), bucket: options[:bucket], key: key, acl: options[:acl] }
|
61
|
+
@s3.put_object(params)
|
62
|
+
|
63
|
+
puts itms_url(options)
|
64
|
+
end
|
65
|
+
|
66
|
+
def itms_url(options)
|
67
|
+
"itms-services://?#{URI.encode_www_form(:action => "download-manifest", :url => plist_url(options))}"
|
68
|
+
end
|
69
|
+
|
70
|
+
def plist_url(options)
|
71
|
+
"https://s3.amazonaws.com/#{options[:bucket]}/#{options[:path]}/#{options[:cf_bundle_name]}.plist"
|
72
|
+
end
|
73
|
+
|
74
|
+
def determine_ipa_url(options)
|
75
|
+
CGI.escapeHTML("https://s3.amazonaws.com/#{options[:bucket]}/#{options[:path]}/#{options[:cf_bundle_name]}.ipa")
|
76
|
+
end
|
77
|
+
|
78
|
+
def build_manifest_plist(options)
|
79
|
+
ipa_url = determine_ipa_url(options)
|
80
|
+
cf_bundle_identifier = options[:cf_bundle_identifier]
|
81
|
+
cf_bundle_version = options[:cf_bundle_version]
|
82
|
+
cf_bundle_name = options[:cf_bundle_name]
|
83
|
+
|
84
|
+
# ERB.new(File.read('templates/manifest.plist.erb')).result(binding)
|
85
|
+
return ERB.new(File.read(File.join(File.dirname(__FILE__), '..', '..', 'templates', 'manifest.plist.erb'))).result(binding)
|
86
|
+
|
87
|
+
end
|
88
|
+
|
53
89
|
# private
|
54
90
|
#
|
55
91
|
# def expand_path_with_substitutions_from_ipa_plist(ipa, path)
|
@@ -74,14 +110,22 @@ module S3
|
|
74
110
|
end
|
75
111
|
end
|
76
112
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
#
|
113
|
+
command :'testing' do |c|
|
114
|
+
c.syntax = "ios3 testing [options]"
|
115
|
+
c.summary = "CFBundle{Something}"
|
116
|
+
c.description = ""
|
117
|
+
|
118
|
+
c.action do |args, options|
|
119
|
+
say_ok "Testing"
|
120
|
+
# determine_cf_bundle_info!
|
121
|
+
# ERB.new(File.read('templates/manifest.plist.erb')).result(binding)
|
122
|
+
# puts File.read('templates/manifest.plist.erb')
|
123
|
+
# ERB.new(File.read(File.join(File.dirname(__FILE__), '..', '..', 'templates', 'manifest.plist.erb'))).result(binding)
|
124
|
+
puts File.read(File.join(File.dirname(__FILE__), '..', '..', 'templates', 'manifest.plist.erb'))
|
125
|
+
say_ok "Done Testing"
|
126
|
+
end
|
127
|
+
|
128
|
+
end
|
85
129
|
|
86
130
|
command :'upload' do |c|
|
87
131
|
c.syntax = "ios3 upload [options]"
|
@@ -107,15 +151,17 @@ command :'upload' do |c|
|
|
107
151
|
say_error "Missing bucket" and abort unless @bucket
|
108
152
|
|
109
153
|
determine_region!
|
110
|
-
|
111
154
|
determine_acl!
|
112
155
|
|
113
|
-
|
156
|
+
determine_cf_bundle_info!
|
157
|
+
|
158
|
+
determine_s3_path!
|
114
159
|
|
115
160
|
client = S3::Client.new(@access_key_id, @secret_access_key, @region)
|
116
161
|
|
117
162
|
begin
|
118
|
-
|
163
|
+
say_ok "Uploading..."
|
164
|
+
client.upload_build @ipa, {:bucket => @bucket, :acl => @acl, :path => @s3_path, :cf_bundle_name => @cf_bundle_name, :cf_bundle_version => @cf_bundle_version, :cf_bundle_identifier => @cf_bundle_identifier}
|
119
165
|
say_ok "Build successfully uploaded to S3"
|
120
166
|
rescue => exception
|
121
167
|
say_error "Error while uploading to S3: #{exception}"
|
@@ -124,15 +170,26 @@ command :'upload' do |c|
|
|
124
170
|
|
125
171
|
private
|
126
172
|
|
173
|
+
def path_to_ipa
|
174
|
+
Dir.exists?("test-data") ? "./test-data/build/{iPhoneOS}*-Release/*.{ipa}" : "./build/{iPhoneOS}*-Release/*.{ipa}"
|
175
|
+
end
|
176
|
+
|
177
|
+
def path_to_plist
|
178
|
+
path = Dir.exists?("test-data") ? "./test-data/build/{iPhoneOS}*-Release/*.app/Info.plist" : "./build/{iPhoneOS}*-Release/*.app/Info.plist"
|
179
|
+
Dir[path].last
|
180
|
+
end
|
181
|
+
|
127
182
|
def determine_ipa!
|
128
183
|
unless File.exist?('Rakefile')
|
129
184
|
say_error "Run on root directoy of RubyMotion project."
|
130
185
|
end
|
131
186
|
|
187
|
+
# plist = Dir["./test-data/build/{iPhoneOS}*-Release/*.app/Info.plist"].last
|
188
|
+
|
132
189
|
# select *.ipa in Release directory.
|
133
|
-
@ipa = Dir.glob(
|
190
|
+
@ipa = Dir.glob(path_to_ipa).first
|
134
191
|
unless @ipa
|
135
|
-
say_error "Can't find *.ipa. First, need to create archive
|
192
|
+
say_error "Can't find *.ipa. First, need to create archive with `rake archive:distribution'."
|
136
193
|
end
|
137
194
|
@ipa
|
138
195
|
end
|
@@ -157,11 +214,21 @@ command :'upload' do |c|
|
|
157
214
|
end
|
158
215
|
|
159
216
|
def determine_acl!
|
160
|
-
@acl = "
|
217
|
+
@acl = "public-read"
|
161
218
|
end
|
162
219
|
|
163
|
-
def
|
164
|
-
|
165
|
-
@path = ""
|
220
|
+
def determine_s3_path!
|
221
|
+
@s3_path = "ad-hoc-distribution/#{@cf_bundle_name}/#{@cf_bundle_version}"
|
166
222
|
end
|
223
|
+
|
224
|
+
def determine_cf_bundle_info!
|
225
|
+
plist = CFPropertyList::List.new(:file => path_to_plist)
|
226
|
+
data = CFPropertyList.native_types(plist.value)
|
227
|
+
|
228
|
+
@cf_bundle_name = data['CFBundleName']
|
229
|
+
@cf_bundle_version = data['CFBundleVersion']
|
230
|
+
@cf_bundle_identifier = data['CFBundleIdentifier']
|
231
|
+
end
|
232
|
+
|
233
|
+
|
167
234
|
end
|
data/lib/ios3/version.rb
CHANGED
@@ -11,19 +11,19 @@
|
|
11
11
|
<key>kind</key>
|
12
12
|
<string>software-package</string>
|
13
13
|
<key>url</key>
|
14
|
-
<string><%=
|
14
|
+
<string><%= ipa_url %></string>
|
15
15
|
</dict>
|
16
16
|
</array>
|
17
17
|
<key>metadata</key>
|
18
18
|
<dict>
|
19
19
|
<key>bundle-identifier</key>
|
20
|
-
<string><%=
|
20
|
+
<string><%= cf_bundle_identifier %></string>
|
21
21
|
<key>bundle-version</key>
|
22
|
-
<string><%=
|
22
|
+
<string><%= cf_bundle_version %></string>
|
23
23
|
<key>kind</key>
|
24
24
|
<string>software</string>
|
25
25
|
<key>title</key>
|
26
|
-
<string><%=
|
26
|
+
<string><%= cf_bundle_name %></string>
|
27
27
|
</dict>
|
28
28
|
</dict>
|
29
29
|
</array>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>get-task-allow</key>
|
6
|
+
<false/>
|
7
|
+
<key>application-identifier</key>
|
8
|
+
<string>45287K8L3E.com.humanswithkids.Blog</string>
|
9
|
+
</dict>
|
10
|
+
</plist>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>CFBundleDevelopmentRegion</key>
|
6
|
+
<string>English</string>
|
7
|
+
<key>CFBundleIdentifier</key>
|
8
|
+
<string>com.apple.xcode.dsym.com.humanswithkids.Blog</string>
|
9
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
10
|
+
<string>6.0</string>
|
11
|
+
<key>CFBundlePackageType</key>
|
12
|
+
<string>dSYM</string>
|
13
|
+
<key>CFBundleSignature</key>
|
14
|
+
<string>????</string>
|
15
|
+
<key>CFBundleShortVersionString</key>
|
16
|
+
<string>1</string>
|
17
|
+
<key>CFBundleVersion</key>
|
18
|
+
<string>1.0.0</string>
|
19
|
+
</dict>
|
20
|
+
</plist>
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
AAPL????
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>rules</key>
|
6
|
+
<dict>
|
7
|
+
<key>.*</key>
|
8
|
+
<true/>
|
9
|
+
<key>Info.plist</key>
|
10
|
+
<dict>
|
11
|
+
<key>omit</key>
|
12
|
+
<true/>
|
13
|
+
<key>weight</key>
|
14
|
+
<real>10</real>
|
15
|
+
</dict>
|
16
|
+
<key>ResourceRules.plist</key>
|
17
|
+
<dict>
|
18
|
+
<key>omit</key>
|
19
|
+
<true/>
|
20
|
+
<key>weight</key>
|
21
|
+
<real>100</real>
|
22
|
+
</dict>
|
23
|
+
</dict>
|
24
|
+
</dict>
|
25
|
+
</plist>
|
@@ -0,0 +1,200 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>files</key>
|
6
|
+
<dict>
|
7
|
+
<key>Default-568h@2x.png</key>
|
8
|
+
<data>
|
9
|
+
+KcpJy7DaVvFOu0VOaYtGWTE+SU=
|
10
|
+
</data>
|
11
|
+
<key>Default-667h@2x.png</key>
|
12
|
+
<data>
|
13
|
+
KBimUV29Wl650ADoKM2i6mnEqYs=
|
14
|
+
</data>
|
15
|
+
<key>Default-736h@3x.png</key>
|
16
|
+
<data>
|
17
|
+
vOdBa0T+oxcKDiqwzBlecwq9Kbc=
|
18
|
+
</data>
|
19
|
+
<key>PkgInfo</key>
|
20
|
+
<data>
|
21
|
+
HpadEcH4ifWxUt0ljemb7BFlyC8=
|
22
|
+
</data>
|
23
|
+
<key>SVProgressHUD.bundle/angle-mask.png</key>
|
24
|
+
<data>
|
25
|
+
ZP3MEyOzyiMbxQeDcSHXarN3E2I=
|
26
|
+
</data>
|
27
|
+
<key>SVProgressHUD.bundle/angle-mask@2x.png</key>
|
28
|
+
<data>
|
29
|
+
bJrR0ylq3sQNppqIm9ryAXWPJzE=
|
30
|
+
</data>
|
31
|
+
<key>SVProgressHUD.bundle/angle-mask@3x.png</key>
|
32
|
+
<data>
|
33
|
+
e67DzzmwDyqECcm6R5/RNKjbVl8=
|
34
|
+
</data>
|
35
|
+
<key>SVProgressHUD.bundle/error.png</key>
|
36
|
+
<data>
|
37
|
+
7dq6xarqzSdPyQEKKpVGUWcpCIc=
|
38
|
+
</data>
|
39
|
+
<key>SVProgressHUD.bundle/error@2x.png</key>
|
40
|
+
<data>
|
41
|
+
14JkE/rT3Tfa4aP0CmgGdheZAds=
|
42
|
+
</data>
|
43
|
+
<key>SVProgressHUD.bundle/error@3x.png</key>
|
44
|
+
<data>
|
45
|
+
eWTkyKjL4ARvSmVff4vOLLV8GIc=
|
46
|
+
</data>
|
47
|
+
<key>SVProgressHUD.bundle/info.png</key>
|
48
|
+
<data>
|
49
|
+
3a+aL7OOxxeZJlZ6Zc2apQJa+RI=
|
50
|
+
</data>
|
51
|
+
<key>SVProgressHUD.bundle/info@2x.png</key>
|
52
|
+
<data>
|
53
|
+
zOgABtFAzJh+TkQTHhT+kUnuBxE=
|
54
|
+
</data>
|
55
|
+
<key>SVProgressHUD.bundle/info@3x.png</key>
|
56
|
+
<data>
|
57
|
+
6BsddkhQe1/ejnRHqBTSwG31h7k=
|
58
|
+
</data>
|
59
|
+
<key>SVProgressHUD.bundle/success.png</key>
|
60
|
+
<data>
|
61
|
+
fFFaIAdJaQLiHAHxtZdSu3UK9mw=
|
62
|
+
</data>
|
63
|
+
<key>SVProgressHUD.bundle/success@2x.png</key>
|
64
|
+
<data>
|
65
|
+
F+jTDjhSDE75FwiWoc3aVsqlOZU=
|
66
|
+
</data>
|
67
|
+
<key>SVProgressHUD.bundle/success@3x.png</key>
|
68
|
+
<data>
|
69
|
+
ktkPsgjbXsEzUyaptquUISBzqro=
|
70
|
+
</data>
|
71
|
+
<key>embedded.mobileprovision</key>
|
72
|
+
<data>
|
73
|
+
ZQHKXn4rN203rEtYY36S3IutRtY=
|
74
|
+
</data>
|
75
|
+
</dict>
|
76
|
+
<key>files2</key>
|
77
|
+
<dict>
|
78
|
+
<key>Default-568h@2x.png</key>
|
79
|
+
<data>
|
80
|
+
+KcpJy7DaVvFOu0VOaYtGWTE+SU=
|
81
|
+
</data>
|
82
|
+
<key>Default-667h@2x.png</key>
|
83
|
+
<data>
|
84
|
+
KBimUV29Wl650ADoKM2i6mnEqYs=
|
85
|
+
</data>
|
86
|
+
<key>Default-736h@3x.png</key>
|
87
|
+
<data>
|
88
|
+
vOdBa0T+oxcKDiqwzBlecwq9Kbc=
|
89
|
+
</data>
|
90
|
+
<key>PkgInfo</key>
|
91
|
+
<data>
|
92
|
+
HpadEcH4ifWxUt0ljemb7BFlyC8=
|
93
|
+
</data>
|
94
|
+
<key>SVProgressHUD.bundle/angle-mask.png</key>
|
95
|
+
<data>
|
96
|
+
ZP3MEyOzyiMbxQeDcSHXarN3E2I=
|
97
|
+
</data>
|
98
|
+
<key>SVProgressHUD.bundle/angle-mask@2x.png</key>
|
99
|
+
<data>
|
100
|
+
bJrR0ylq3sQNppqIm9ryAXWPJzE=
|
101
|
+
</data>
|
102
|
+
<key>SVProgressHUD.bundle/angle-mask@3x.png</key>
|
103
|
+
<data>
|
104
|
+
e67DzzmwDyqECcm6R5/RNKjbVl8=
|
105
|
+
</data>
|
106
|
+
<key>SVProgressHUD.bundle/error.png</key>
|
107
|
+
<data>
|
108
|
+
7dq6xarqzSdPyQEKKpVGUWcpCIc=
|
109
|
+
</data>
|
110
|
+
<key>SVProgressHUD.bundle/error@2x.png</key>
|
111
|
+
<data>
|
112
|
+
14JkE/rT3Tfa4aP0CmgGdheZAds=
|
113
|
+
</data>
|
114
|
+
<key>SVProgressHUD.bundle/error@3x.png</key>
|
115
|
+
<data>
|
116
|
+
eWTkyKjL4ARvSmVff4vOLLV8GIc=
|
117
|
+
</data>
|
118
|
+
<key>SVProgressHUD.bundle/info.png</key>
|
119
|
+
<data>
|
120
|
+
3a+aL7OOxxeZJlZ6Zc2apQJa+RI=
|
121
|
+
</data>
|
122
|
+
<key>SVProgressHUD.bundle/info@2x.png</key>
|
123
|
+
<data>
|
124
|
+
zOgABtFAzJh+TkQTHhT+kUnuBxE=
|
125
|
+
</data>
|
126
|
+
<key>SVProgressHUD.bundle/info@3x.png</key>
|
127
|
+
<data>
|
128
|
+
6BsddkhQe1/ejnRHqBTSwG31h7k=
|
129
|
+
</data>
|
130
|
+
<key>SVProgressHUD.bundle/success.png</key>
|
131
|
+
<data>
|
132
|
+
fFFaIAdJaQLiHAHxtZdSu3UK9mw=
|
133
|
+
</data>
|
134
|
+
<key>SVProgressHUD.bundle/success@2x.png</key>
|
135
|
+
<data>
|
136
|
+
F+jTDjhSDE75FwiWoc3aVsqlOZU=
|
137
|
+
</data>
|
138
|
+
<key>SVProgressHUD.bundle/success@3x.png</key>
|
139
|
+
<data>
|
140
|
+
ktkPsgjbXsEzUyaptquUISBzqro=
|
141
|
+
</data>
|
142
|
+
<key>embedded.mobileprovision</key>
|
143
|
+
<data>
|
144
|
+
ZQHKXn4rN203rEtYY36S3IutRtY=
|
145
|
+
</data>
|
146
|
+
</dict>
|
147
|
+
<key>rules</key>
|
148
|
+
<dict>
|
149
|
+
<key>.*</key>
|
150
|
+
<true/>
|
151
|
+
<key>Info.plist</key>
|
152
|
+
<dict>
|
153
|
+
<key>omit</key>
|
154
|
+
<true/>
|
155
|
+
<key>weight</key>
|
156
|
+
<real>10</real>
|
157
|
+
</dict>
|
158
|
+
<key>ResourceRules.plist</key>
|
159
|
+
<dict>
|
160
|
+
<key>omit</key>
|
161
|
+
<true/>
|
162
|
+
<key>weight</key>
|
163
|
+
<real>100</real>
|
164
|
+
</dict>
|
165
|
+
</dict>
|
166
|
+
<key>rules2</key>
|
167
|
+
<dict>
|
168
|
+
<key>.*</key>
|
169
|
+
<true/>
|
170
|
+
<key>Info.plist</key>
|
171
|
+
<dict>
|
172
|
+
<key>omit</key>
|
173
|
+
<true/>
|
174
|
+
<key>weight</key>
|
175
|
+
<real>10</real>
|
176
|
+
</dict>
|
177
|
+
<key>ResourceRules.plist</key>
|
178
|
+
<dict>
|
179
|
+
<key>omit</key>
|
180
|
+
<true/>
|
181
|
+
<key>weight</key>
|
182
|
+
<real>100</real>
|
183
|
+
</dict>
|
184
|
+
<key>^(Frameworks|SharedFrameworks|Plugins|Plug-ins|XPCServices|Helpers|MacOS)/</key>
|
185
|
+
<dict>
|
186
|
+
<key>nested</key>
|
187
|
+
<true/>
|
188
|
+
<key>weight</key>
|
189
|
+
<real>0.0</real>
|
190
|
+
</dict>
|
191
|
+
<key>^[^/]+$</key>
|
192
|
+
<dict>
|
193
|
+
<key>top</key>
|
194
|
+
<true/>
|
195
|
+
<key>weight</key>
|
196
|
+
<real>0.0</real>
|
197
|
+
</dict>
|
198
|
+
</dict>
|
199
|
+
</dict>
|
200
|
+
</plist>
|
Binary file
|
@@ -0,0 +1,156 @@
|
|
1
|
+
#import <Foundation/Foundation.h>
|
2
|
+
|
3
|
+
extern "C" {
|
4
|
+
void ruby_sysinit(int *, char ***);
|
5
|
+
void ruby_init(void);
|
6
|
+
void ruby_init_loadpath(void);
|
7
|
+
void ruby_script(const char *);
|
8
|
+
void ruby_set_argv(int, char **);
|
9
|
+
void rb_vm_init_compiler(void);
|
10
|
+
void rb_vm_init_jit(void);
|
11
|
+
void rb_vm_aot_feature_provide(const char *, void *);
|
12
|
+
void *rb_vm_top_self(void);
|
13
|
+
void rb_define_global_const(const char *, void *);
|
14
|
+
void rb_rb2oc_exc_handler(void);
|
15
|
+
void rb_exit(int);
|
16
|
+
void MREP_80C61027F5A34B54879CAA9D59A75249(void *, void *);
|
17
|
+
void MREP_E259AF1ABE18446BA8FA6AE8BDDF4557(void *, void *);
|
18
|
+
void MREP_FC228FC0FEC14326B2C25F48DDCDC99C(void *, void *);
|
19
|
+
void MREP_5216B279F7934718A05B01D112B3D790(void *, void *);
|
20
|
+
void MREP_32083E13B3D540F8A93504261F49F6BB(void *, void *);
|
21
|
+
void MREP_A62E04C32F9242E5A0890298F7272BE2(void *, void *);
|
22
|
+
void MREP_2A1C65377EC54C2E94533697A6176471(void *, void *);
|
23
|
+
void MREP_CB6BC49A315B43B8B65EDC29EF734F8D(void *, void *);
|
24
|
+
void MREP_CBA7D863F55D49308AC1FF723235255A(void *, void *);
|
25
|
+
void MREP_1E1F8BFADBF14940952CB6A1438DDADB(void *, void *);
|
26
|
+
void MREP_53D9B079836B4FC3AD8F263C4AAD9570(void *, void *);
|
27
|
+
void MREP_608D2DD4B81C4C17B59AA1F75B46CC4E(void *, void *);
|
28
|
+
void MREP_74EAF306DFE84387BB7709C5CE7DE6CB(void *, void *);
|
29
|
+
void MREP_5DFFB185D0D54BAEA17D05232ECF95FE(void *, void *);
|
30
|
+
void MREP_00F29E08BD3940C08FCC448F0A218842(void *, void *);
|
31
|
+
void MREP_A0105A529CC24AA4A8D1D29D323CC94C(void *, void *);
|
32
|
+
void MREP_CC925D7025B140B59A049D6A78A65C8D(void *, void *);
|
33
|
+
void MREP_73D5FDC9D9994A1A9692D16DBB493943(void *, void *);
|
34
|
+
void MREP_629E0333A05E4FEDBDBC10FF87589DAC(void *, void *);
|
35
|
+
void MREP_D07DBFCDD57043EDB456C9299868D947(void *, void *);
|
36
|
+
void MREP_E295803625F14149B043F63EBAFE5918(void *, void *);
|
37
|
+
void MREP_03CE6DBBCAB34DEDB151B9B8E55BA830(void *, void *);
|
38
|
+
void MREP_31BA8AF1BB8346D6A34EF42C6E980CF6(void *, void *);
|
39
|
+
void MREP_FFBC21579089418E90CBA6B6A409E401(void *, void *);
|
40
|
+
void MREP_E64D2B59A1A244D5B67195765D28FA30(void *, void *);
|
41
|
+
void MREP_D131841DB7AC417E8BF70762E60320EC(void *, void *);
|
42
|
+
void MREP_A605729BAE564205A08085794A083C6F(void *, void *);
|
43
|
+
void MREP_AF695433F5944C3B80860D5D04EB112F(void *, void *);
|
44
|
+
void MREP_75084AC7FC8F454FAA33BE70C0046A58(void *, void *);
|
45
|
+
void MREP_9801A63F715B4E94AE5D6DFC93A7622A(void *, void *);
|
46
|
+
void MREP_E3A0D68C35B54E39A2084EF53C0F40C4(void *, void *);
|
47
|
+
void MREP_D7A79515ECD346638CE5E3D9EE25D9D5(void *, void *);
|
48
|
+
void MREP_B3A31B4D71AB44E7B8069F991FA3F559(void *, void *);
|
49
|
+
void MREP_80479813579944699AD95AD764DDD12D(void *, void *);
|
50
|
+
void MREP_9DC5DC53CD3145DE869C044F83F4A2EE(void *, void *);
|
51
|
+
void MREP_D829CCE1DC4A417CA68F80B1498C233B(void *, void *);
|
52
|
+
void MREP_D70CFCAB2D2B4092A9A8AC69F1D0365A(void *, void *);
|
53
|
+
void MREP_EDF827947066473F9A9EC118661644B3(void *, void *);
|
54
|
+
void MREP_17DABB4F3D904C4AB430C06E1BE21161(void *, void *);
|
55
|
+
void MREP_52999C4C38EE41F886383FF7BE1455C9(void *, void *);
|
56
|
+
void MREP_344F4A3616454AA2A314D949022275D5(void *, void *);
|
57
|
+
void MREP_2518640E5DE747C3B348897D9B6507FA(void *, void *);
|
58
|
+
void MREP_6B2EAAE62B8346DDB9812826756C3EEC(void *, void *);
|
59
|
+
void MREP_C812B6EFF12C4D8CB1F2D9286D6770B7(void *, void *);
|
60
|
+
void MREP_6725DD468AAB4781B7EAFC1C244B7EB0(void *, void *);
|
61
|
+
void MREP_50423CD8F2034420993EA1942D715AD3(void *, void *);
|
62
|
+
void MREP_24E9E12BCF05497E8993D42590EDD49A(void *, void *);
|
63
|
+
void MREP_C77BF74F7E8340AB940C57DE145A39BB(void *, void *);
|
64
|
+
void MREP_88EF6D9E9C914733996CBA5CA5D20D8E(void *, void *);
|
65
|
+
void MREP_6FC29234BD64446DB51E253A5746DB12(void *, void *);
|
66
|
+
void MREP_16CED2667E004D2A925D66211F033A8E(void *, void *);
|
67
|
+
void MREP_0C1823238A1747728F278F09A1E1F87C(void *, void *);
|
68
|
+
void MREP_4884E1D68C6F4CE4A7E3A557042A477E(void *, void *);
|
69
|
+
void MREP_72F4D92AD69343B495E09FDD0804073F(void *, void *);
|
70
|
+
void MREP_CFC1377417294EE69C16C2883397DB35(void *, void *);
|
71
|
+
void MREP_466B641CACEE4B95A91E1CFA8B52DA4A(void *, void *);
|
72
|
+
}
|
73
|
+
|
74
|
+
extern "C"
|
75
|
+
void
|
76
|
+
RubyMotionInit(int argc, char **argv)
|
77
|
+
{
|
78
|
+
static bool initialized = false;
|
79
|
+
if (!initialized) {
|
80
|
+
ruby_init();
|
81
|
+
ruby_init_loadpath();
|
82
|
+
if (argc > 0) {
|
83
|
+
const char *progname = argv[0];
|
84
|
+
ruby_script(progname);
|
85
|
+
}
|
86
|
+
#if !__LP64__
|
87
|
+
try {
|
88
|
+
#endif
|
89
|
+
void *self = rb_vm_top_self();
|
90
|
+
rb_define_global_const("RUBYMOTION_ENV", @"release");
|
91
|
+
rb_define_global_const("RUBYMOTION_VERSION", @"3.5");
|
92
|
+
MREP_80C61027F5A34B54879CAA9D59A75249(self, 0);
|
93
|
+
MREP_E259AF1ABE18446BA8FA6AE8BDDF4557(self, 0);
|
94
|
+
MREP_FC228FC0FEC14326B2C25F48DDCDC99C(self, 0);
|
95
|
+
MREP_5216B279F7934718A05B01D112B3D790(self, 0);
|
96
|
+
MREP_32083E13B3D540F8A93504261F49F6BB(self, 0);
|
97
|
+
MREP_A62E04C32F9242E5A0890298F7272BE2(self, 0);
|
98
|
+
MREP_2A1C65377EC54C2E94533697A6176471(self, 0);
|
99
|
+
MREP_CB6BC49A315B43B8B65EDC29EF734F8D(self, 0);
|
100
|
+
MREP_CBA7D863F55D49308AC1FF723235255A(self, 0);
|
101
|
+
MREP_1E1F8BFADBF14940952CB6A1438DDADB(self, 0);
|
102
|
+
MREP_53D9B079836B4FC3AD8F263C4AAD9570(self, 0);
|
103
|
+
MREP_608D2DD4B81C4C17B59AA1F75B46CC4E(self, 0);
|
104
|
+
MREP_74EAF306DFE84387BB7709C5CE7DE6CB(self, 0);
|
105
|
+
MREP_5DFFB185D0D54BAEA17D05232ECF95FE(self, 0);
|
106
|
+
MREP_00F29E08BD3940C08FCC448F0A218842(self, 0);
|
107
|
+
MREP_A0105A529CC24AA4A8D1D29D323CC94C(self, 0);
|
108
|
+
MREP_CC925D7025B140B59A049D6A78A65C8D(self, 0);
|
109
|
+
MREP_73D5FDC9D9994A1A9692D16DBB493943(self, 0);
|
110
|
+
MREP_629E0333A05E4FEDBDBC10FF87589DAC(self, 0);
|
111
|
+
MREP_D07DBFCDD57043EDB456C9299868D947(self, 0);
|
112
|
+
MREP_E295803625F14149B043F63EBAFE5918(self, 0);
|
113
|
+
MREP_03CE6DBBCAB34DEDB151B9B8E55BA830(self, 0);
|
114
|
+
MREP_31BA8AF1BB8346D6A34EF42C6E980CF6(self, 0);
|
115
|
+
MREP_FFBC21579089418E90CBA6B6A409E401(self, 0);
|
116
|
+
MREP_E64D2B59A1A244D5B67195765D28FA30(self, 0);
|
117
|
+
MREP_D131841DB7AC417E8BF70762E60320EC(self, 0);
|
118
|
+
MREP_A605729BAE564205A08085794A083C6F(self, 0);
|
119
|
+
MREP_AF695433F5944C3B80860D5D04EB112F(self, 0);
|
120
|
+
MREP_75084AC7FC8F454FAA33BE70C0046A58(self, 0);
|
121
|
+
MREP_9801A63F715B4E94AE5D6DFC93A7622A(self, 0);
|
122
|
+
MREP_E3A0D68C35B54E39A2084EF53C0F40C4(self, 0);
|
123
|
+
MREP_D7A79515ECD346638CE5E3D9EE25D9D5(self, 0);
|
124
|
+
MREP_B3A31B4D71AB44E7B8069F991FA3F559(self, 0);
|
125
|
+
MREP_80479813579944699AD95AD764DDD12D(self, 0);
|
126
|
+
MREP_9DC5DC53CD3145DE869C044F83F4A2EE(self, 0);
|
127
|
+
MREP_D829CCE1DC4A417CA68F80B1498C233B(self, 0);
|
128
|
+
MREP_D70CFCAB2D2B4092A9A8AC69F1D0365A(self, 0);
|
129
|
+
MREP_EDF827947066473F9A9EC118661644B3(self, 0);
|
130
|
+
MREP_17DABB4F3D904C4AB430C06E1BE21161(self, 0);
|
131
|
+
MREP_52999C4C38EE41F886383FF7BE1455C9(self, 0);
|
132
|
+
MREP_344F4A3616454AA2A314D949022275D5(self, 0);
|
133
|
+
MREP_2518640E5DE747C3B348897D9B6507FA(self, 0);
|
134
|
+
MREP_6B2EAAE62B8346DDB9812826756C3EEC(self, 0);
|
135
|
+
MREP_C812B6EFF12C4D8CB1F2D9286D6770B7(self, 0);
|
136
|
+
MREP_6725DD468AAB4781B7EAFC1C244B7EB0(self, 0);
|
137
|
+
MREP_50423CD8F2034420993EA1942D715AD3(self, 0);
|
138
|
+
MREP_24E9E12BCF05497E8993D42590EDD49A(self, 0);
|
139
|
+
MREP_C77BF74F7E8340AB940C57DE145A39BB(self, 0);
|
140
|
+
MREP_88EF6D9E9C914733996CBA5CA5D20D8E(self, 0);
|
141
|
+
MREP_6FC29234BD64446DB51E253A5746DB12(self, 0);
|
142
|
+
MREP_16CED2667E004D2A925D66211F033A8E(self, 0);
|
143
|
+
MREP_0C1823238A1747728F278F09A1E1F87C(self, 0);
|
144
|
+
MREP_4884E1D68C6F4CE4A7E3A557042A477E(self, 0);
|
145
|
+
MREP_72F4D92AD69343B495E09FDD0804073F(self, 0);
|
146
|
+
MREP_CFC1377417294EE69C16C2883397DB35(self, 0);
|
147
|
+
MREP_466B641CACEE4B95A91E1CFA8B52DA4A(self, 0);
|
148
|
+
#if !__LP64__
|
149
|
+
}
|
150
|
+
catch (...) {
|
151
|
+
rb_rb2oc_exc_handler();
|
152
|
+
}
|
153
|
+
#endif
|
154
|
+
initialized = true;
|
155
|
+
}
|
156
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#import <UIKit/UIKit.h>
|
2
|
+
|
3
|
+
extern "C" {
|
4
|
+
void rb_define_global_const(const char *, void *);
|
5
|
+
void rb_rb2oc_exc_handler(void);
|
6
|
+
void rb_exit(int);
|
7
|
+
void RubyMotionInit(int argc, char **argv);
|
8
|
+
}
|
9
|
+
int
|
10
|
+
main(int argc, char **argv)
|
11
|
+
{
|
12
|
+
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
13
|
+
int retval = 0;
|
14
|
+
RubyMotionInit(argc, argv);
|
15
|
+
retval = UIApplicationMain(argc, argv, nil, @"AppDelegate");
|
16
|
+
rb_exit(retval);
|
17
|
+
[pool release];
|
18
|
+
return retval;
|
19
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ios3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Gertig
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.0.24
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 2.0.24
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: commander
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '4.3'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: CFPropertyList
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 2.3.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 2.3.0
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: bundler
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,12 +66,12 @@ dependencies:
|
|
52
66
|
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '1.6'
|
55
|
-
description: This
|
69
|
+
description: This utility is focused primarily on apps that have been archived using
|
56
70
|
RubyMotion.
|
57
71
|
email:
|
58
72
|
- "@gertig"
|
59
73
|
executables:
|
60
|
-
-
|
74
|
+
- ios3
|
61
75
|
extensions: []
|
62
76
|
extra_rdoc_files: []
|
63
77
|
files:
|
@@ -66,7 +80,7 @@ files:
|
|
66
80
|
- LICENSE.txt
|
67
81
|
- README.md
|
68
82
|
- Rakefile
|
69
|
-
- bin/
|
83
|
+
- bin/ios3
|
70
84
|
- ios3.gemspec
|
71
85
|
- lib/ios3.rb
|
72
86
|
- lib/ios3/cli.rb
|
@@ -76,6 +90,21 @@ files:
|
|
76
90
|
- templates/manifest-test.plist
|
77
91
|
- templates/manifest-test.plist.erb
|
78
92
|
- templates/manifest.plist.erb
|
93
|
+
- test-data/build/iPhoneOS-8.0-Release/Entitlements.plist
|
94
|
+
- test-data/build/iPhoneOS-8.0-Release/HWK.app.dSYM/Contents/Info.plist
|
95
|
+
- test-data/build/iPhoneOS-8.0-Release/HWK.app.dSYM/Contents/Resources/DWARF/HWK
|
96
|
+
- test-data/build/iPhoneOS-8.0-Release/HWK.app/Default-568h@2x.png
|
97
|
+
- test-data/build/iPhoneOS-8.0-Release/HWK.app/Default-667h@2x.png
|
98
|
+
- test-data/build/iPhoneOS-8.0-Release/HWK.app/Default-736h@3x.png
|
99
|
+
- test-data/build/iPhoneOS-8.0-Release/HWK.app/HWK
|
100
|
+
- test-data/build/iPhoneOS-8.0-Release/HWK.app/Info.plist
|
101
|
+
- test-data/build/iPhoneOS-8.0-Release/HWK.app/PkgInfo
|
102
|
+
- test-data/build/iPhoneOS-8.0-Release/HWK.app/ResourceRules.plist
|
103
|
+
- test-data/build/iPhoneOS-8.0-Release/HWK.app/_CodeSignature/CodeResources
|
104
|
+
- test-data/build/iPhoneOS-8.0-Release/HWK.app/embedded.mobileprovision
|
105
|
+
- test-data/build/iPhoneOS-8.0-Release/HWK.ipa
|
106
|
+
- test-data/build/iPhoneOS-8.0-Release/objs/init.mm
|
107
|
+
- test-data/build/iPhoneOS-8.0-Release/objs/main.mm
|
79
108
|
homepage: http://github.com/gertig/ios3
|
80
109
|
licenses:
|
81
110
|
- MIT
|