fastlane-plugin-repack_ios 0.1.0 → 1.0.1
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 +5 -5
- data/README.md +45 -4
- data/lib/fastlane/plugin/repack_ios/actions/repack_ios_action.rb +14 -4
- data/lib/fastlane/plugin/repack_ios/version.rb +1 -1
- metadata +3 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b7603bb6257703b0a11931de5edc198daccc96a407713cfa1f0b91055d202a2c
|
4
|
+
data.tar.gz: dd1ef91f1f7badf2cc50726d1304b25b3324dd01d0be706c20ba892638851258
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 284aa9ca62d24dcc7dc8dcd0c328d55774bb18cdb3500a3dc20170faf15cecd54d3c9db3d9870e32c769945c311b6722b6a1fa473d31b8a6b01b88a635f0a6e2
|
7
|
+
data.tar.gz: 4c627c6116020dc7c1f516b438920747af3bee8a4c974d6ac2ba05d085a55734ddc9bbfa5dfeff3bae81ae90cf45a74c8364effc015211d7dbccc5bbf473338c
|
data/README.md
CHANGED
@@ -1,6 +1,10 @@
|
|
1
|
-
#
|
1
|
+
# repack-ios plugin
|
2
2
|
|
3
3
|
[](https://rubygems.org/gems/fastlane-plugin-repack_ios)
|
4
|
+
[](https://badge.fury.io/rb/fastlane-plugin-repack_ios)
|
5
|
+
[](https://rubygems.org/gems/fastlane-plugin-repack_ios)
|
6
|
+
[](https://github.com/creaworks-labs/fastlane-plugin-repack-ios/blob/master/LICENSE)
|
7
|
+
[](<LINK>)
|
4
8
|
|
5
9
|
## Getting Started
|
6
10
|
|
@@ -10,12 +14,49 @@ This project is a [_fastlane_](https://github.com/fastlane/fastlane) plugin. To
|
|
10
14
|
fastlane add_plugin repack_ios
|
11
15
|
```
|
12
16
|
|
13
|
-
## About
|
17
|
+
## About repack-ios
|
14
18
|
|
15
|
-
This plugin allows you to
|
19
|
+
This plugin allows you to re-pack your existing .ipa packages with new assets or non-executable resources without rebuilding the native code. It supports fastlane's *sigh* and *match* actions to automatically detect provisioning profiles and certificates for resigning the modified ipa package. Also internally uses Gym configuration arguments to detect build related parameters like output directory etc.
|
16
20
|
|
17
21
|
You can use this plugin to modify your react-native js bundle without re-compiling the entire XCode project from the beginning. It significantly reduces the compilation time, especially useful for CI/CD based processes and also for your test automation.
|
18
22
|
|
23
|
+
## Examples
|
24
|
+
|
25
|
+
The only requires arguments are *ipa* path for the pre-built package and *contents* path for the resources that would like to replace. Basic usage as follows:
|
26
|
+
|
27
|
+
```ruby
|
28
|
+
repack_ios({ ipa: "./build/ios/TestApp.ipa", output_name: "TestApp", contents: "./build/react-native/" })
|
29
|
+
```
|
30
|
+
|
31
|
+
You can also specify additional parameters to `repack_ios` action. Eg.
|
32
|
+
|
33
|
+
```ruby
|
34
|
+
repack_ios({
|
35
|
+
ipa: "./build/ios/TestApp.ipa",
|
36
|
+
contents: "./build/react-native/",
|
37
|
+
match_type: "adhoc", # Optional if you use _sigh_ or _match_
|
38
|
+
bundle_id: "com.creaworks.fastlane-app.repacked",
|
39
|
+
bundle_version: ENV["CI_BUILD_NUMBER"]
|
40
|
+
})
|
41
|
+
```
|
42
|
+
|
43
|
+
## Parameters
|
44
|
+
|
45
|
+
| Key | Description | Default |
|
46
|
+
| ------------- |-----------------------| --------|
|
47
|
+
| ipa | Path to your original ipa file to modify | *Required* |
|
48
|
+
| output_name | The product name of the Xcode target | *Required* |
|
49
|
+
| contents | Path for the new contents | *Required* |
|
50
|
+
| app_identifier | The bundle identifier of your app | Default value read from Appfile's app_identifier key |
|
51
|
+
| entitlements | Path to the entitlement file to use, e.g. `myApp/MyApp.entitlements`| Default value can be resolved from *sigh* |
|
52
|
+
| display_name | Display name to force resigned ipa to use | _Inherited_ |
|
53
|
+
| version | Version number to force resigned ipa to use. Updates both `CFBundleShortVersionString` and `CFBundleVersion` values in `Info.plist`. Applies for main app and all nested apps or extensions | _Inherited_ |
|
54
|
+
| short_version | Short version string to force resigned ipa to use (`CFBundleShortVersionString`) | _Inherited_ |
|
55
|
+
| bundle_version | Bundle version to force resigned ipa to use (`CFBundleVersion`) | _Inherited_ |
|
56
|
+
| bundle_id | Set new bundle ID during resign (`CFBundleIdentifier`) | _Optional_ |
|
57
|
+
| match_type | Define the profile type | Optional if you use _sigh_ or _match_ |
|
58
|
+
| provisioning_profile | Path to your provisioning_profile. | Optional if you use _sigh_ or _match_ |
|
59
|
+
|
19
60
|
## Run tests for this plugin
|
20
61
|
|
21
62
|
To run both the tests, and code style validation, run
|
@@ -47,4 +88,4 @@ _fastlane_ is the easiest way to automate beta deployments and releases for your
|
|
47
88
|
|
48
89
|
## License
|
49
90
|
|
50
|
-
MIT © [omerduzyol](https://github.com/omerduzyol)
|
91
|
+
MIT © [omerduzyol](https://github.com/omerduzyol)
|
@@ -1,4 +1,6 @@
|
|
1
1
|
require 'fastlane/action'
|
2
|
+
require 'gym'
|
3
|
+
require 'match'
|
2
4
|
require_relative '../helper/repack_ios_helper'
|
3
5
|
|
4
6
|
module Fastlane
|
@@ -14,7 +16,7 @@ module Fastlane
|
|
14
16
|
UI.message("Parameter Contents Path: #{params[:contents]}")
|
15
17
|
UI.message("Parameter IPA Path: #{params[:ipa]}")
|
16
18
|
|
17
|
-
if params[:ipa].nil?
|
19
|
+
if params[:ipa].nil? || params[:output_name].nil?
|
18
20
|
UI.important("Parameter ipa is empty, trying to resolve Gym configuration...")
|
19
21
|
|
20
22
|
Gym.config = FastlaneCore::Configuration.create(Gym::Options.available_options, {})
|
@@ -29,6 +31,7 @@ module Fastlane
|
|
29
31
|
UI.user_error!("Resolved ipa file: #{File.expand_path(ipa_path)} is not exists. Please provide ipa path.") unless File.exist?(ipa_path)
|
30
32
|
else
|
31
33
|
ipa_path = params[:ipa]
|
34
|
+
output_name = params[:output_name]
|
32
35
|
end
|
33
36
|
|
34
37
|
ipa_original_path = Helper::RepackIosHelper.unpack_and_repack(output_name, ipa_path, params[:contents])
|
@@ -37,9 +40,11 @@ module Fastlane
|
|
37
40
|
|
38
41
|
sigh_profile_type = Actions.lane_context[SharedValues::SIGH_PROFILE_TYPE]
|
39
42
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
+
if params[:match_type].nil?
|
44
|
+
unless sigh_profile_type.nil?
|
45
|
+
UI.important("Match type parameters obtained from sigh profile context!")
|
46
|
+
params[:match_type] = sigh_profile_type.sub!('-', '')
|
47
|
+
end
|
43
48
|
end
|
44
49
|
|
45
50
|
# check match_type is passed?
|
@@ -174,6 +179,11 @@ module Fastlane
|
|
174
179
|
UI.user_error!("Unsupported environment #{value}, must be in #{Match.environments.join(', ')}")
|
175
180
|
end
|
176
181
|
end),
|
182
|
+
FastlaneCore::ConfigItem.new(key: :output_name,
|
183
|
+
env_name: "FL_REPACK_IOS_OUTPUT_NAME",
|
184
|
+
description: "The name of the resulting app file inside the ipa file",
|
185
|
+
is_string: true,
|
186
|
+
optional: true),
|
177
187
|
FastlaneCore::ConfigItem.new(key: :provisioning_profile,
|
178
188
|
env_name: "FL_REPACK_IOS_PROVISIONING_PROFILE",
|
179
189
|
description: "Path to your provisioning_profile. Optional if you use _sigh_ or _match_",
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-repack_ios
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Omer Duzyol
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: zip
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: pry
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -181,8 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
167
|
- !ruby/object:Gem::Version
|
182
168
|
version: '0'
|
183
169
|
requirements: []
|
184
|
-
|
185
|
-
rubygems_version: 2.5.2.3
|
170
|
+
rubygems_version: 3.0.8
|
186
171
|
signing_key:
|
187
172
|
specification_version: 4
|
188
173
|
summary: Enables your build pipeline to repack your pre-built ipa with new assets
|