ios3 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|