ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² iOS 14, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΡΡΠ΅Π±ΡΡΡ('./images/add_scan_images.png')
}
/>
ΠΠΊΡΡΠΆΠ°ΡΡΠ°Ρ ΠΎΠ±ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°:
ΠΠ΅ΡΠ°-Π²Π΅ΡΡΠΈΡ Xcode Π²Π΅ΡΡΠΈΠΈ 12.0 (12A6159)
Π‘ΠΈΠΌΡΠ»ΡΡΠΎΡ: IPhone SE - 2-Π³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ - 14.0
"ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ": "16.11.0",
"ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ-ΡΠΎΠ΄Π½ΠΎΠΉ": "0.62.2"
:ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: | ΠΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅ΠΉ ΡΡΠ΅Π΄Π΅ |
---|---|
:ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ: | Π Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²Π°ΡΠ΅ΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π·Π°ΠΏΡΡΡΠΈΠ² react-native info Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. |
Π― ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡ Ρ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ
System:
OS: macOS 10.16
CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
Memory: 493.38 MB / 32.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 14.4.0 - ~/.nvm/versions/node/v14.4.0/bin/node
Yarn: 1.22.4 - ~/.nvm/versions/node/v14.4.0/bin/yarn
npm: 6.14.5 - ~/.nvm/versions/node/v14.4.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 13.5, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
Android SDK:
API Levels: 25, 27, 28, 29
Build Tools: 28.0.3, 29.0.0
System Images: android-27 | Google Play Intel x86 Atom, android-29 | Google APIs Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: 3.6 AI-192.7142.36.36.6308749
Xcode: 11.5/11E608c - /usr/bin/xcodebuild
Languages:
Python: 2.7.16 - /usr/local/bin/python
npmPackages:
@react-native-community/cli: ^4.5.1 => 4.5.1
react: 16.11.0 => 16.11.0
react-native: 0.62.0 => 0.62.0
npmGlobalPackages:
*react-native*: Not Found
ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ Π½Π° Xcode-beta ΠΈ iOS 14
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°!
ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°...
ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°...
ΠΡΠ°ΠΊ, Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΠ±ΠΎΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Xcode 12 Beta. ΠΠΎΠ³Π΄Π° Ρ Π΄Π΅Π»Π°Ρ ΡΠ±ΠΎΡΠΊΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Xcode 11.5 Ρ ΠΏΠΎΠΌΠΎΡΡΡ iOS 14.0 Beta Device Support, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΎΡΡΡΠ΄Π° , ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.
ΠΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠ°ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β https://github.com/facebook/react-native/issues/29215 .
:ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: | ΠΡΡΡΡΡΡΠ²ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ |
---|---|
:ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ: | ΠΠΎΡ ΠΎΠΆΠ΅, Π² Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. GitHub ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½Π° Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²Π°Ρ Π·Π°Π΄Π°ΡΠ° . ΠΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½? ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΠΈΠ»ΠΈ Π·Π°ΠΊΡΡΡΡ Π΅Π³ΠΎ ΠΈ ΠΎΡΠΊΡΡΡΡ Π½ΠΎΠ²ΡΠΉ. |
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ react-native+0.63.0.patch
diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
index 21f1a06..2444713 100644
--- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
+++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
@@ -272,6 +272,9 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink
- (void)displayLayer:(CALayer *)layer
{
+ if (!_currentFrame) {
+ _currentFrame = self.image;
+ }
if (_currentFrame) {
layer.contentsScale = self.animatedImageScale;
layer.contents = (__bridge id)_currentFrame.CGImage;
diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env
new file mode 100644
index 0000000..361f5fb
--- /dev/null
+++ b/node_modules/react-native/scripts/.packager.env
@@ -0,0 +1 @@
+export RCT_METRO_PORT=8081
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
react-native+0.63.0.patch
diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m index 21f1a06..2444713 100644 --- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m +++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m @@ -272,6 +272,9 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink - (void)displayLayer:(CALayer *)layer { + if (!_currentFrame) { + _currentFrame = self.image; + } if (_currentFrame) { layer.contentsScale = self.animatedImageScale; layer.contents = (__bridge id)_currentFrame.CGImage; diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env new file mode 100644 index 0000000..361f5fb --- /dev/null +++ b/node_modules/react-native/scripts/.packager.env @@ -0,0 +1 @@ +export RCT_METRO_PORT=8081
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ patch-package, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°? ΠΠΎΠ²ΠΈΡΠΎΠΊ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ patch-package.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
react-native+0.63.0.patch
diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m index 21f1a06..2444713 100644 --- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m +++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m @@ -272,6 +272,9 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink - (void)displayLayer:(CALayer *)layer { + if (!_currentFrame) { + _currentFrame = self.image; + } if (_currentFrame) { layer.contentsScale = self.animatedImageScale; layer.contents = (__bridge id)_currentFrame.CGImage; diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env new file mode 100644 index 0000000..361f5fb --- /dev/null +++ b/node_modules/react-native/scripts/.packager.env @@ -0,0 +1 @@ +export RCT_METRO_PORT=8081
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ patch-package, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°? ΠΠΎΠ²ΠΈΡΠΎΠΊ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ patch-package.
ΠΡΠΈΠ²Π΅Ρ!
1.- Π·Π°ΠΏΡΡΡΠΈΡΡ "npm i -g patch-package"
2.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ patches
3.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ react-native+0.63.0.patch Π²Π½ΡΡΡΠΈ ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.
4.- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΡΠ΅.
5.- Π·Π°ΠΏΡΡΡΠΈΡΡ "patch-package" Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
react-native+0.63.0.patch
diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m index 21f1a06..2444713 100644 --- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m +++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m @@ -272,6 +272,9 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink - (void)displayLayer:(CALayer *)layer { + if (!_currentFrame) { + _currentFrame = self.image; + } if (_currentFrame) { layer.contentsScale = self.animatedImageScale; layer.contents = (__bridge id)_currentFrame.CGImage; diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env new file mode 100644 index 0000000..361f5fb --- /dev/null +++ b/node_modules/react-native/scripts/.packager.env @@ -0,0 +1 @@ +export RCT_METRO_PORT=8081
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ patch-package, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°? ΠΠΎΠ²ΠΈΡΠΎΠΊ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ patch-package.
ΠΡΠΈΠ²Π΅Ρ!
1.- Π·Π°ΠΏΡΡΡΠΈΡΡ "npm i -g patch-package"
2.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ patches
3.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ react-native+0.63.0.patch Π²Π½ΡΡΡΠΈ ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.
4.- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΡΠ΅.
5.- Π·Π°ΠΏΡΡΡΠΈΡΡ "patch-package" Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΡΠ»ΠΈΡΠ½ΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΡΠΏΠ°ΡΠΈΠ±ΠΎ.
ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ [super displayLayer:layer];
, Π΅ΡΠ»ΠΈ _currentFrame ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ
Π΅ΡΠ»ΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, _currentFrame Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄Π»Ρ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ UIImage Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
if (_currentFrame) {
layer.contentsScale = self.animatedImageScale;
layer.contents = (__bridge id)_currentFrame.CGImage;
} else {
[super displayLayer:layer];
}
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ React Native 0.62.x. ΠΡΡΡ Π»ΠΈ ΡΠ°Π½Ρ, ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ? RN 0.63.x ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΈ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΅Π΅.
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ React Native 0.62.x. ΠΡΡΡ Π»ΠΈ ΡΠ°Π½Ρ, ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ? RN 0.63.x ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΈ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΅Π΅.
ΠΡΠΌΠ°Ρ, ΡΠ΅ΠΉΡΠ°Ρ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΠΊ ΠΈΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ°ΡΡ-ΠΏΠ°ΠΊΠ΅Ρ.
Π― ΡΠΌΠΎΠ³ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΏΠ°ΡΡ. Π― ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Ρ, ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ RN:
Π Π: 0,62,2
XΠΊΠΎΠ΄: 12.0
Π‘ΠΈΠΌΡΠ»ΡΡΠΎΡ iOS: 14
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΡΠ½Π΅Π½ΠΈΡ (Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ
Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² Π² patch-package
, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Ρ), ΠΏΠ°ΠΏΠΊΠ° Β«patchesΒ» Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ Π½Π° ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠ°ΡΡΠ΅ΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΈΠ·Π»ΠΈΡΠ½ΠΈΠΌ. ΠΡΠ»ΠΎ Π±Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠΈΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΡΠ° ΠΊ 0.62.2 (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ 0.62.3?). ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ 3 ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°.
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π² 0.63.x Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΈ ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Ρ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ (0.64.x Π½Π΅ Π·Π° Π³ΠΎΡΠ°ΠΌΠΈ), ΠΏΠΎΡΡΠΎΠΌΡ Π² ΠΎΠ±ΠΎΠ·ΡΠΈΠΌΠΎΠΌ Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΌΡ Π·Π°ΡΡΡΡΠ»ΠΈ Π½Π° 0.62.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠ°ΡΡΠ΅ΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΈΠ·Π»ΠΈΡΠ½ΠΈΠΌ.
ΠΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ...
ΠΡ Π½Π΅ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ, Π²Ρ Π½Π΅ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ, Π½ΠΎ Π·Π°ΡΠ΅ΠΌ Β«Π·Π°ΡΡΠ°Π²Π»ΡΡΡΒ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡ Π΄ΠΎΡΠΎΠΆΠ½ΡΡ ΠΊΠ°ΡΡΡ?
ΠΠΎΡΠ΅ΠΌΡ ΡΡ Π½Π΅ Ρ
ΠΎΡΠ΅ΡΡ ΡΡΠΎ-ΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π½ΠΎ Ρ
ΠΎΡΠ΅ΡΡ, ΡΡΠΎΠ±Ρ Π»ΡΠ΄ΠΈ Π΄Π΅Π»Π°Π»ΠΈ ΡΠΎ, ΡΡΠΎ ΡΡ Ρ
ΠΎΡΠ΅ΡΡ?
ΠΠ°ΡΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π» Π·Π΄Π΅ΡΡ. 0,62,2
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ React Native 0.62.x. ΠΡΡΡ Π»ΠΈ ΡΠ°Π½Ρ, ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ? RN 0.63.x ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΈ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΅Π΅.
ΡΠΉ, ΡΡΠ²Π°ΠΊ, ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²Ρ ΡΡΠΎ Π² ΠΏΠ°ΠΏΠΊΡ Ρ ΠΏΠ°ΡΡΠ°ΠΌΠΈ Π² react-native+0.62.2.patch
diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
index 21f1a06..0ff66f3 100644
--- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
+++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
@@ -275,6 +275,8 @@ - (void)displayLayer:(CALayer *)layer
if (_currentFrame) {
layer.contentsScale = self.animatedImageScale;
layer.contents = (__bridge id)_currentFrame.CGImage;
+ } else {
+ [super displayLayer:layer];
}
}
diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env
new file mode 100644
index 0000000..361f5fb
--- /dev/null
+++ b/node_modules/react-native/scripts/.packager.env
@@ -0,0 +1 @@
+export RCT_METRO_PORT=8081
ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ npx patch-package
ΠΡΠΎ ΠΏΠ°ΡΡ Π΄Π»Ρ 0.61.5
diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
index 01aa75f..24c1075 100644
--- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
+++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
@@ -267,8 +267,10 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink
- (void)displayLayer:(CALayer *)layer
{
if (_currentFrame) {
- layer.contentsScale = self.animatedImageScale;
- layer.contents = (__bridge id)_currentFrame.CGImage;
+ layer.contentsScale = self.animatedImageScale;
+ layer.contents = (__bridge id)_currentFrame.CGImage;
+ } else {
+ [super displayLayer:layer];
}
}
ΠΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° FastImage. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π½ΠΈΡΠ΅Π³ΠΎ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ. ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π»ΡΡΡΠ΅.
ΠΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ patch-package
ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΡ CI/CD, Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ "postinstall": "patch-package"
Π² ΡΠ²ΠΎΠΉ package.json
ΠΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° FastImage. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π½ΠΈΡΠ΅Π³ΠΎ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ. ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π»ΡΡΡΠ΅.
FastImage Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠΎΡΠ΅ΠΌΡ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ ΡΡΠΎ Π»ΡΡΡΠ΅?
FastImage ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ
@johnlim5847 johnlim5847, Π³Π΄Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Β«postinstallΒ»: Β«patch-packageΒ» Π² ΡΡΡ ΡΡΡΠΎΠΊΡ Π² package.json?
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅: npx patch-package
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΠΉ...
ΠΡΠΈΠ±ΠΊΠ°: Π½Π°ΠΉΠ΄Π΅Π½ ΡΠ°ΠΉΠ» ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠ° react-native, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Ρ Π² node_modules/react-native
@shrimallamanoj Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° https://github.com/ds300/patch-package
ΠΠ° ... ΡΠΏΠ°ΡΠΈΠ±ΠΎ, Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ» ΡΠ°Π³, ΠΈ ΠΏΠ°ΡΡ Π±ΡΠ» ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½, ΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ npx ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π½ΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ... ΠΏΠ»ΠΎΡ ΠΎ ... Π΅ΡΡΡ Π»ΠΈ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
index 21f1a06..2444713 100644
--- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
+++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
@@ -272,6 +272,9 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink
- (void)displayLayer:(CALayer *)layer
{
+ if (!_currentFrame) {
+ _currentFrame = self.image;
+ }
if (_currentFrame) {
layer.contentsScale = self.animatedImageScale;
layer.contents = (__bridge id)_currentFrame.CGImage;
diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env
new file mode 100644
index 0000000..361f5fb
--- /dev/null
+++ b/node_modules/react-native/scripts/.packager.env
@@ -0,0 +1 @@
+export RCT_METRO_PORT=8081
Π Π΅Π±ΡΡΠ°, ΡΡΠΎΡ ΠΏΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π½Π° React Native 0.61.5. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ.
1.- Π·Π°ΠΏΡΡΡΠΈΡΠ΅ "yarn add patch-package"
2.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ patches Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
3.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ react-native+0.61.5.patch Π²Π½ΡΡΡΠΈ ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.
4.- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΡΠ΅.
5.- Π·Π°ΠΏΡΡΡΠΈΡΠ΅ "yarn patch-package" Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π² ΡΠΊΡΠΈΠΏΡ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ
Π― ΠΏΠ΅ΡΠ΅Ρ ΠΎΠΆΡ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅ , ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π² IOS14.
Π½Π΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅
Π― Π²ΠΈΠΆΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Π±Π°Π³, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» ΡΠ²ΠΎΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ xcode. (ios14, xcode12) Π‘ΡΡΠ°Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Ρ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΌΠ°ΡΠΊΠ΅ΡΠ°, ΡΠΎ Π½Π΅ Π²ΠΈΠΆΡ ΡΡΠ°ΡΠΈΡΠ½ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ. ΠΠ°ΡΡΠΈΠ½ΠΊΠΈ Π²ΠΈΠΆΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ±ΡΡ Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°. ΠΌΠΎΡ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΡΠ»Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°Π·ΡΡΡΠ΅Π½Π° ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° RCTUIImageViewAnimated.m
Π²ΡΡΡΠ½ΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ @tomcheung Π²ΡΡΠ΅, ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² Π²Π΅ΡΡΠΈΠΈ 0.61.5. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ: ΠΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ΡΡ Π΄ΠΎ 0.63
, ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΡΡ. Π― ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ, ΡΠ±ΠΎΡΠΊΠ° Π½Π΅ ΡΠ΄Π°Π»Π°ΡΡ ΠΈΠ·-Π·Π° firebase
, code-push
.
ΠΡΠ΅ Π΅ΡΠ΅ ΠΈΡΠΏΡΡΡΠ²Π°Ρ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°ΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΏΠ°ΡΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π»ΡΡΡΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ?
ΠΡΡΡ Π»ΠΈ ΠΏΠ°ΡΡ Π΄Π»Ρ 0.61.2?
ΠΡΡΡ Π»ΠΈ ΠΏΠ°ΡΡ Π΄Π»Ρ 0.61.2?
ΠΠ»Ρ ΠΌΠ΅Π½Ρ. ΠΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ.
0.62.2 ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ. Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ....
Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
https://github.com/huylvdev/react-native-fix-image Ρ ΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
Π΅ΡΠ»ΠΈ (_currentFrame) {
layer.contentsScale = self.animatedImageScale;
layer.contents = (__ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΌΠΎΡΡΠ°)_currentFrame.CGImage;
} Π΅ΡΠ΅ {
[ΡΡΠΏΠ΅Ρ Π΄ΠΈΡΠΏΠ»Π΅ΠΉΠ‘Π»ΠΎΠΉ:ΡΠ»ΠΎΠΉ ];
}
Π²: /node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΌΠ΅Π½Ρ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ
ΠΠ»Ρ ΠΌΠ΅Π½Ρ. ΠΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ.
ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Ρ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π² Π²ΠΈΠ΄Ρ? ΠΠ°ΠΊΠΎΠΉ ΠΏΠ°ΡΡ Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ?
ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ, ΠΏΡΠΎΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π²Π½ΡΡΡΠΈ ΡΠ·Π»ΠΎΠ²ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, Π΅ΡΡΡ Π»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΡΡΠΎ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ?
ΠΠ»Ρ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ <0,63
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ react -native-fast-image Π²ΠΌΠ΅ΡΡΠΎ ReactNative Image
Π§ΡΠΎΠ±Ρ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½Π°ΡΠΈΠ²Π½ΠΎΠ΅ Π±ΡΡΡΡΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ , ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ .
Π Π°Π±ΠΎΡΠ°Π΅Ρ Π½Π° IOS 14!
ΠΠ»Ρ ΠΌΠ΅Π½Ρ. ΠΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ.
ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Ρ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π² Π²ΠΈΠ΄Ρ? ΠΠ°ΠΊΠΎΠΉ ΠΏΠ°ΡΡ Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ?
@EmmanueleVilla ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠΎΡ ΠΏΠ°ΡΡ https://github.com/facebook/react-native/issues/29279#issuecomment -658244428, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ patch-package, ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΅Π³ΠΎ :)
diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m index 21f1a06..2444713 100644 --- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m +++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m @@ -272,6 +272,9 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink - (void)displayLayer:(CALayer *)layer { + if (!_currentFrame) { + _currentFrame = self.image; + } if (_currentFrame) { layer.contentsScale = self.animatedImageScale; layer.contents = (__bridge id)_currentFrame.CGImage; diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env new file mode 100644 index 0000000..361f5fb --- /dev/null +++ b/node_modules/react-native/scripts/.packager.env @@ -0,0 +1 @@ +export RCT_METRO_PORT=8081
Π Π΅Π±ΡΡΠ°, ΡΡΠΎΡ ΠΏΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π½Π° React Native 0.61.5. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ.
1.- Π·Π°ΠΏΡΡΡΠΈΡΠ΅ "yarn add patch-package"
2.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ patches Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
3.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ react-native+0.61.5.patch Π²Π½ΡΡΡΠΈ ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.
4.- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΡΠ΅.
5.- Π·Π°ΠΏΡΡΡΠΈΡΠ΅ "yarn patch-package" Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π² ΡΠΊΡΠΈΠΏΡ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ
Π£ ΠΌΠ΅Π½Ρ ΡΠΎΠΆΠ΅ 61.5, ΠΌΠ½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ! Π― ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π²Π΅ΡΡΠΈΡ, ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΠΎΡ 61.5, ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΠ°ΠΉΠ» ΠΏΠ°ΡΡΠ°, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π°ΡΡ Π²Π΅ΡΡΠΈΡ, ΠΈ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ yarn patch-package
, ΠΎΠ½ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡ ΠΏΠ°ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡ, ΡΡΠΎ Π²Π°ΡΠ° ΡΠ΅Π°ΠΊΡΠΈΠ²Π½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ.
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π²Π΅ΡΡΠΈΠΈ 61.2 Π½Π°Π·ΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΠΉΠ» ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ react-native+0.61.2.patch
#import "RCTUIImageViewAnimated+WLAdd.h"
#import <objc/runtime.h>
<strong i="5">@implementation</strong> RCTUIImageViewAnimated (WLAdd)
+ (void)load {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
Method fromMethod = class_getInstanceMethod([self class], @selector(displayLayer:));
Method toMethod = class_getInstanceMethod([self class], @selector(wl_displayLayer:));
method_exchangeImplementations(fromMethod, toMethod);
});
}
- (void)wl_displayLayer:(CALayer *)layer {
UIImage *currentFrame = [self valueForKey:@"currentFrame"];
CGFloat animatedImageScale = [[self valueForKey:@"animatedImageScale"] floatValue];
if (currentFrame) {
layer.contentsScale = animatedImageScale;
layer.contents = (__bridge id)currentFrame.CGImage;
} else {
[super displayLayer:layer];
}
}
<strong i="6">@end</strong>
ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π½Π° v0.61.4
, Ρ
ΠΎΡΡ Π΅ΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
tl;dr Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ Π½Π° https://github.com/ds300/patch-package .
ΠΠΎΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ:
ΠΡΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Π²Π½Π΅ΡΠ΅Π½Π½ΠΎΠ΅ Π² ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ React Native v0.63.2
: https://github.com/facebook/react-native/commit/123423c2a9258c9af25ca9bffe1f10c42a176bf3 .
# make the change in `node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m` file
if (_currentFrame) {
layer.contentsScale = self.animatedImageScale;
layer.contents = (__bridge id)_currentFrame.CGImage;
} else {
[super displayLayer:layer];
}
# run patch-package to create a .patch file
npx patch-package react-native
# this will generate the patch file in the patches folder
# patches/react-native+0.61.4.patch
# then add to postinstall script
"scripts": {
"postinstall": "patch-package"
}
ΠΠ°Π΄Π΅ΡΡΡ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ!
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
react-native+0.63.0.patch
diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m index 21f1a06..2444713 100644 --- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m +++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m @@ -272,6 +272,9 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink - (void)displayLayer:(CALayer *)layer { + if (!_currentFrame) { + _currentFrame = self.image; + } if (_currentFrame) { layer.contentsScale = self.animatedImageScale; layer.contents = (__bridge id)_currentFrame.CGImage; diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env new file mode 100644 index 0000000..361f5fb --- /dev/null +++ b/node_modules/react-native/scripts/.packager.env @@ -0,0 +1 @@ +export RCT_METRO_PORT=8081
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ patch-package, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°? ΠΠΎΠ²ΠΈΡΠΎΠΊ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ patch-package.
ΠΡΠΈΠ²Π΅Ρ!
1.- Π·Π°ΠΏΡΡΡΠΈΡΡ "npm i -g patch-package"
2.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ patches
3.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ react-native+0.63.0.patch Π²Π½ΡΡΡΠΈ ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.
4.- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΡΠ΅.
5.- Π·Π°ΠΏΡΡΡΠΈΡΡ "patch-package" Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π£ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ RN v0.61.2, Π½ΠΎ ΡΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
ΠΠ»Ρ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ <0,63
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ react -native-fast-image Π²ΠΌΠ΅ΡΡΠΎ ReactNative Image
Π§ΡΠΎΠ±Ρ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½Π°ΡΠΈΠ²Π½ΠΎΠ΅ Π±ΡΡΡΡΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ , ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ .
Π Π°Π±ΠΎΡΠ°Π΅Ρ Π½Π° IOS 14!
ΠΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ!
ΠΏΡΡΠΆΠ° ΠΏΠ°ΡΡ-ΠΏΠ°ΠΊΠ΅Ρ
ΠΠ»Ρ ΠΌΠ΅Π½Ρ. ΠΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ.
ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Ρ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π² Π²ΠΈΠ΄Ρ? ΠΠ°ΠΊΠΎΠΉ ΠΏΠ°ΡΡ Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ?
@EmmanueleVilla ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠΎΡ ΠΏΠ°ΡΡ # 29279 (ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ) , Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ patch-package, ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΅Π³ΠΎ :)
Π’Ρ ΠΌΡΠΆΡΠΈΠ½Π° @ jkim430 Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
ΠΡΠΎΠ±ΠΎΠ²Π°Π» Π²ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° 0.61.4, ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π½ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π°ΠΊΡΠΈΠ²Ρ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ.
ΠΡΡΡ ΠΈΠ΄Π΅ΠΈ?
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ xcode..
ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ
[super displayLayer:layer];
, Π΅ΡΠ»ΠΈ _currentFrame ΡΠ°Π²Π½ΠΎ Π½ΡΠ»ΡΠ΅ΡΠ»ΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, _currentFrame Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄Π»Ρ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ UIImage Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
if (_currentFrame) { layer.contentsScale = self.animatedImageScale; layer.contents = (__bridge id)_currentFrame.CGImage; } else { [super displayLayer:layer]; }
ΠΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ! ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ npx patch-package
(Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π΄Π΅ΡΡ ), ΡΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ node_modules.
ΠΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·-Π·Π° ΡΠ°ΠΊΠΈΡ Π±Π°Π³ΠΎΠ² ΠΌΠ½Π΅ Ρ ΠΎΡΠ΅ΡΡΡ ΠΎΡΠΊΡΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΡΡΠ³ΠΎΠΉ Π±ΠΈΠ·Π½Π΅Ρ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ Π±ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ.
https://github.com/huylvdev/react-native-fix-image Ρ ΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΠΎΠ»ΡΡΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ, ΠΏΡΠΎΠ²Π΅Π΄Ρ Π΄Π΅Π½Ρ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΠ» ΡΡΡ ΠΏΠΎΠΌΠΎΡΡ
Π― ΠΌΠΎΠ³Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΏΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΈ ΠΊ Π²Π΅ΡΡΠΈΠΈ 0.63.2. ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΠ°ΠΉΠ» Π² (react-native+0.62.2.patch).
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ,
ΠΡΠΎ Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
https://github.com/huylvdev/react-native-fix-image Ρ ΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΠΎΠ»ΡΡΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ, ΠΏΡΠΎΠ²Π΅Π΄Ρ Π΄Π΅Π½Ρ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΠ» ΡΡΡ ΠΏΠΎΠΌΠΎΡΡ
ΠΠΉ, Ρ ΠΏΡΡΠ°Π»ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ react-native-fix-image
, ΡΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ Π΄Π΅Π»Π°Ρ
npx react-native-fix-image
, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΡΠ΄Π°Π»ΡΡ node_modules ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ ΠΈΡ
.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π‘ΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Π»ΠΈ Π²Ρ Ρ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΈ Π½ΡΠΆΠ½ΠΎ Π»ΠΈ Π½Π°ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ npx Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
https://github.com/huylvdev/react-native-fix-image Ρ ΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΠΎΠ»ΡΡΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ, ΠΏΡΠΎΠ²Π΅Π΄Ρ Π΄Π΅Π½Ρ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΠ» ΡΡΡ ΠΏΠΎΠΌΠΎΡΡ
ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ° Π΄Π»Ρ ΠΌΠ΅Π½Ρ! Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!!
Π£ ΠΌΠ΅Π½Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΠΆΠΈΠΌ Π²ΡΠΏΡΡΠΊΠ°, Π΅ΡΡΡ ΠΈΠ΄Π΅ΠΈ?
@tomcheung Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ!
Π― Π΄Π²Π° Π΄Π½Ρ Π»ΠΎΠΌΠ°Π» Π³ΠΎΠ»ΠΎΠ²Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, Π² ΡΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°...
ΠΠ»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈ React Native (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 0.60.6), ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΠΉΠ» RCTUIImageViewAnimated.m
Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. Π― ΡΠ΅ΡΠΈΠ» ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ React Native Fast Image v8.1.5 ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ² ΠΌΠΎΠ΄ΡΠ»Ρ SDWebImage Ρ ΠΏΠΎΠΌΠΎΡΡΡ pod update SDWebImage
. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» SDWebImage Ρ Π²Π΅ΡΡΠΈΠΈ 5.8.1 Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 5.9.2.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: https://github.com/DylanVann/react-native-fast-image/issues/702#issuecomment-653930858 .
ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΡΠ΅Π»ΠΈΠ·Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. (Π²ΡΠ±ΡΠΎΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΠΠ‘ΠΠ 39) Π Π 0,63,3
ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ metro.config.js ΡΡΡΡΠ°Π½ΠΈΠ»ΠΎ ΠΌΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ => https://forums.expo.io/t/assets-missing-only-in-ios-release-build-after-ejecting/42759
ΠΡΠ΄Π΅Ρ Π»ΠΈ ΡΡΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π² Π»ΡΠ±ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ RN? ΠΡΠ°ΠΈΠΊ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡΡΠ°Π»Π°ΡΡ.
ΠΡΠ΄Π΅Ρ Π»ΠΈ ΡΡΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π² Π»ΡΠ±ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ RN? ΠΡΠ°ΠΈΠΊ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡΡΠ°Π»Π°ΡΡ.
+1. ΠΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ ΡΡΠ°ΡΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΠΈ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ.
diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.mb/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
ΠΈΠ½Π΄Π΅ΠΊΡ 21f1a06..2444713 100644
--- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
+++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
@@ -272,6 +272,9 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink
- (void) displayLayer: (CALayer *) ΡΠ»ΠΎΠΉ
{
- Π΅ΡΠ»ΠΈ (!_currentFrame) {
- _currentFrame = self.image;
- }
Π΅ΡΠ»ΠΈ (_currentFrame) {
layer.contentsScale = self.animatedImageScale;
layer.contents = (__ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΌΠΎΡΡΠ°)_currentFrame.CGImage;
diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env
Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ 100644
ΠΈΠ½Π΄Π΅ΠΊΡ 0000000..361f5fb
--- /dev/Π½ΠΎΠ»Ρ
+++ b/node_modules/react-native/scripts/.packager.env
@@ -0,0 +1 @@
+ΡΠΊΡΠΏΠΎΡΡ RCT_METRO_PORT=8081
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ! ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π²ΠΎ Π²ΡΠ΅Ρ
ΠΌΠΎΠΈΡ
ΡΡΠ°ΡΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
RN.
ΠΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΡ React Native Π²Π°ΡΠ΅Π³ΠΎ ΡΡΠ°ΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΠΌΠ΅ΡΡΠΎ 0.63 ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π° react-native+0.63.0.patch
.
Π― ΡΠ΄Π΅Π»Π°Π» Π²ΠΈΠ΄Π΅ΠΎ , ΠΈ Ρ Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠΌΡ-ΡΠΎ.
Π£ ΠΌΠ΅Π½Ρ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ @AsbarAli , Π²Π΅ΡΡΠΈΡ RN: 0.61.5.
ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ
[super displayLayer:layer];
, Π΅ΡΠ»ΠΈ _currentFrame ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ
Π΅ΡΠ»ΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, _currentFrame Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄Π»Ρ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ UIImage Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
https://github.com/facebook/react-native/blob/1c634a921887caf02f1b9fba6fd177c352f9ef78/Libraries/Image/RCTUIImageViewAnimated.m#L283 -L289if (_currentFrame) { layer.contentsScale = self.animatedImageScale; layer.contents = (__bridge id)_currentFrame.CGImage; } else { [super displayLayer:layer]; }
ΠΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ! ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
npx patch-package
(Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π΄Π΅ΡΡ ), ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ node_modules.ΠΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·-Π·Π° ΡΠ°ΠΊΠΈΡ Π±Π°Π³ΠΎΠ² ΠΌΠ½Π΅ Ρ ΠΎΡΠ΅ΡΡΡ ΠΎΡΠΊΡΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΡΡΠ³ΠΎΠΉ Π±ΠΈΠ·Π½Π΅Ρ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ Π±ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ.
ΠΠ°ΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ npx patch-package react-native
Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΡΠΈΠ²Π΅Ρ Π²ΡΠ΅ΠΌ, ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΎ Ρ ΡΠ΄ΡΠΎΠΌ?
Π₯ΠΎΡΡ patch-package ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΎΠ½ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ.
Π― ΠΎΡΡΠ°Π²Π»Ρ ΡΡΠΎ ΠΎΡΠΊΡΡΡΡΠΌ, ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠΌΠΎΠ³Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠ½ΠΈ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ?
https://www.npmjs.com/package/react-native-fix-image
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΌΠ΅Π½Ρ
ΠΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ. ΠΡΠΎΡΡΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ. Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² 63.3
Π£ ΠΌΠ΅Π½Ρ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ @AsbarAli , Π²Π΅ΡΡΠΈΡ RN: 0.61.5.
ΠΠ°ΠΊ ΡΡ ΡΠ΄Π΅Π»Π°Π» ΡΡΠΎ? Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π Π 61.2
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
react-native+0.63.0.patch
diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m index 21f1a06..2444713 100644 --- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m +++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m @@ -272,6 +272,9 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink - (void)displayLayer:(CALayer *)layer { + if (!_currentFrame) { + _currentFrame = self.image; + } if (_currentFrame) { layer.contentsScale = self.animatedImageScale; layer.contents = (__bridge id)_currentFrame.CGImage; diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env new file mode 100644 index 0000000..361f5fb --- /dev/null +++ b/node_modules/react-native/scripts/.packager.env @@ -0,0 +1 @@ +export RCT_METRO_PORT=8081
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ patch-package, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°? ΠΠΎΠ²ΠΈΡΠΎΠΊ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ patch-package.
ΠΡΠΈΠ²Π΅Ρ!
1.- Π·Π°ΠΏΡΡΡΠΈΡΡ "npm i -g patch-package"
2.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ patches
3.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ react-native+0.63.0.patch Π²Π½ΡΡΡΠΈ ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.
4.- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΡΠ΅.
5.- Π·Π°ΠΏΡΡΡΠΈΡΡ "patch-package" Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°Π£ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ RN v0.61.2, Π½ΠΎ ΡΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
ΠΡΠΈΠ²Π΅Ρ, ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΠΌΠ½Π΅ ΠΏΠΎΠΌΠΎΡΡ? Π£ ΠΌΠ΅Π½Ρ ΡΠΎΠΆΠ΅ RN 61.2, Π½ΠΎ ΠΎΠ½ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎΠ³ΡΡ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½ΠΈΠΆΠ½ΠΈΠ΅ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΡΠΈΠ²Π΅Ρ, @rjtubera , ΠΏΠ°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ 0.63, Ρ ΠΎΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠΎΠ±ΡΠ°Π΅ΡΡΡ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ React Native 0.61.5. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ React Native 0.61.2 Π΄ΠΎ 0.61.5 ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π²Π°ΠΌΠΈ ΡΠ°Π³ΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΡΡ Π΄ΠΎ 0.63 ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ Π±ΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π²Π°ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΌΠΎΠ³ΡΡ ΡΠ»ΠΎΠΌΠ°ΡΡΡΡ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ (Π½Π° iOS ΠΈ Android).
Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΠ» Π΅Π΅, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ°Π³ΠΈ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅
https://github.com/facebook/react-native/pull/29420#issuecomment-707435412
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΠΠ»Π°Π±ΠΈ, Ρ ΡΠΎΠΆΠ΅ ΡΠ΅ΡΠΈΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΈΡΠΏΡΠ°Π²ΠΈΠ² React Native. ΠΠΎΠΊΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΡΠΎΡΠΎ π
ΠΡ: ΠΠ»Π°Π±ΠΈ Π’Π΅ΠΌΠΈΡΠΎΠΏ ΠΠ°Ρ
Π°Π± ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ[email protected]
ΠΡΠ²Π΅ΡΠΈΡΡ Π½Π°: facebook/react-native [email protected]
ΠΠ°ΡΠ°: Π²ΡΠΎΡΠ½ΠΈΠΊ, 13 ΠΎΠΊΡΡΠ±ΡΡ 2020 Π³., 03:56
ΠΠΎΠΌΡ: facebook/react-native [email protected]
ΠΠΎΠΏΠΈΡ: ΠΠΈΡΠ°Π½ ΠΠ΅ΡΠΌΠΎΠ½Π΄ [email protected] , ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ [email protected]
Π’Π΅ΠΌΠ°: Re: [facebook/react-native] ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² iOS 14 (#29279)
Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΠ» Π΅Π΅, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ°Π³ΠΈ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅
β
ΠΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Ρ ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π»ΠΈ.
ΠΡΠ²Π΅ΡΡΡΠ΅ Π½Π° ΡΡΠΎ ΠΏΠΈΡΡΠΌΠΎ Π½Π°ΠΏΡΡΠΌΡΡ, ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π½Π° GitHub https://github.com/facebook/react-native/issues/29279#issuecomment-707436028 ΠΈΠ»ΠΈ ΠΎΡΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ https://github.com/notifications/unsubscribe-auth/AIENJUWD2RES5AC52CT4MG3SKOXURANCNFSM4ORGDXZA .
Π― ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΡΡ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 0.63 React Native, Π½ΠΎ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ½Π΅ ΠΏΠΎΠΌΠΎΡΡ?
ΠΠ»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈ React Native (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 0.60.6), ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΠΉΠ»
RCTUIImageViewAnimated.m
Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. Π― ΡΠ΅ΡΠΈΠ» ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ React Native Fast Image v8.1.5 ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ² ΠΌΠΎΠ΄ΡΠ»Ρ SDWebImage Ρ ΠΏΠΎΠΌΠΎΡΡΡpod update SDWebImage
. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» SDWebImage Ρ Π²Π΅ΡΡΠΈΠΈ 5.8.1 Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 5.9.2.ΠΡΡΠΎΡΠ½ΠΈΠΊ: DylanVann/react-native-fast-image#702 (ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ)
Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΠΎ.
ΠΠ΅ΡΡΠΈΡ 8.3.2 react-native-fast-image Π΄Π°ΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ SDWebImage, ΡΠ°ΠΊ ΡΡΠΎ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ pod update
!
https://www.npmjs.com/package/react-native-fix-image
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΌΠ΅Π½Ρ
Π Π°Π±ΠΎΡΠ°Π» ΠΈ Π΄Π»Ρ ΠΌΠ΅Π½Ρ. π
ΠΠ°ΠΌ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ React-Native 0.63.1 Π΄ΠΎ 0.63.2.
Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π½Π° RN 0.62.2
Π½Π° Xcode 12.0.1.
ΠΈ ios 14
. ΠΡΠ±ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π½Π° RN
0.62.2
Π½Π° Xcode12.0.1.
ΠΈ ios14
. ΠΡΠ±ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
@ghasemikasra39 ghasemikasra39 Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Ρ Π²Π°ΡΠΈΠΌΠΈ ΠΆΠ΅ Π²Π΅ΡΡΠΈΡΠΌΠΈ. Π£ ΠΌΠ΅Π½Ρ ΡΡΠ°Π±ΠΎΡΠ°Π»Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° react-native-fix-image .
@RutsSantos ΠΏΡΡΠΌΠΎ Π½Π° ΡΡΠΎΠΌ ΡΠΎΠΆΠ΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ!
1) npm install --save ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅-ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
2) npx ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ-Π½Π°ΡΠΈΠ²Π½ΠΎΠ΅-ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅-ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
3) ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ
ΠΠ°ΠΌ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ React-Native 0.63.1 Π΄ΠΎ 0.63.2.
ΠΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ.
ΠΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ @JordanRosas
@JordanRosas Ρ ΠΌΠ΅Π½Ρ ΡΠΎΠΆΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ
ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ΅Π°ΠΊΡΠΈΠΈ Ρ 0.62.2 Π΄ΠΎ 0.63.3 Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ npm
0.62.3 Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ:
0,63,3
0,63,2
0.63.1
0,63,0 3,0
0.63.0-rc.1
0.63.0-rc.0
β― 0.62.2
0.62.1
0.62.0
0,63,3
0,63,2
0.63.1
0.63.0
0.63.0-rc.1
0.63.0-rc.0
β― 0.62.2
0.62.1
0.62.0
ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°Ρ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΡΡΠ°Π½Π΅Π½Π° ΡΡΠ° ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° RN: https://github.com/facebook/react-native/issues/29451 .
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ Π»ΠΈΠ±ΠΎ Π·Π°ΡΡΡΡΠ»ΠΈ Ρ ΠΎΠ±Π΅Π·ΡΡΠ½ΡΠΈΠΌ ΠΏΠ°ΡΡΠ΅ΠΌ 0.62.x, Π»ΠΈΠ±ΠΎ Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ 0.63.x Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ.
ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ
[super displayLayer:layer];
, Π΅ΡΠ»ΠΈ _currentFrame ΡΠ°Π²Π½ΠΎ Π½ΡΠ»ΡΠ΅ΡΠ»ΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, _currentFrame Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄Π»Ρ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ UIImage Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
if (_currentFrame) { layer.contentsScale = self.animatedImageScale; layer.contents = (__bridge id)_currentFrame.CGImage; } else { [super displayLayer:layer]; }
ΠΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ
ΠΎΡΠΈΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈΠ»ΠΈ Π½Π°ΠΏΡΡΠΌΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ node_modules
, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΡΡΡΠΎΠΊ ΡΡΠ°Π΄ΠΈΠΈ preinstall
Π² ΠΏΠΎΠ΄ΡΠ°ΠΉΠ», ΠΊΠ°ΠΊ Π² https://stackoverflow.com/a/64495360/7477198 this ΡΠ°Π±ΠΎΡΠ°Π» Π½Π° ΠΌΠ΅Π½Ρ. ΠΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ git.
Π£ ΠΌΠ΅Π½Ρ Π΄Π°ΠΆΠ΅ Π½Π° RN 63.3 ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ Ρ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π» ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π±Π°Π·Π΅ 64 Π·Π΄Π΅ΡΡ: https://www.base64-image.de/ , Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΡΠΎ ΠΊΠ°ΠΊ source
Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Image
Π²ΠΌΠ΅ΡΡΠΎ require('imagePath')
ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ
[super displayLayer:layer];
, Π΅ΡΠ»ΠΈ _currentFrame ΡΠ°Π²Π½ΠΎ Π½ΡΠ»ΡΠ΅ΡΠ»ΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, _currentFrame Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄Π»Ρ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ UIImage Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
if (_currentFrame) { layer.contentsScale = self.animatedImageScale; layer.contents = (__bridge id)_currentFrame.CGImage; } else { [super displayLayer:layer]; }
Π’Ρ Π³Π΅Π½ΠΈΠΉ, ΡΡ ΡΠΏΠ°Ρ ΠΌΠ½Π΅ ΠΆΠΈΠ·Π½Ρ!
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
react-native+0.63.0.patch
diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m index 21f1a06..2444713 100644 --- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m +++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m @@ -272,6 +272,9 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink - (void)displayLayer:(CALayer *)layer { + if (!_currentFrame) { + _currentFrame = self.image; + } if (_currentFrame) { layer.contentsScale = self.animatedImageScale; layer.contents = (__bridge id)_currentFrame.CGImage; diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env new file mode 100644 index 0000000..361f5fb --- /dev/null +++ b/node_modules/react-native/scripts/.packager.env @@ -0,0 +1 @@ +export RCT_METRO_PORT=8081
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ patch-package, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°? ΠΠΎΠ²ΠΈΡΠΎΠΊ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ patch-package.
ΠΡΠΈΠ²Π΅Ρ!
1.- Π·Π°ΠΏΡΡΡΠΈΡΡ "npm i -g patch-package"
2.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ patches
3.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ react-native+0.63.0.patch Π²Π½ΡΡΡΠΈ ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.
4.- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΡΠ΅.
5.- Π·Π°ΠΏΡΡΡΠΈΡΡ "patch-package" Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΡΠΏΠ°ΡΠΈΠ±ΠΎ
Ρ ΠΌΠ΅Π½Ρ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π½Π° RN 0.61.5
Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΡΠ°ΠΉΠ» ΠΏΠ°ΡΡΠ° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ react-native+0.61.5.patch
ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ DylanVann/react-native-fast-image
cd ios && pod update SDWebImage
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
react-native+0.63.0.patch
diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m index 21f1a06..2444713 100644 --- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m +++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m @@ -272,6 +272,9 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink - (void)displayLayer:(CALayer *)layer { + if (!_currentFrame) { + _currentFrame = self.image; + } if (_currentFrame) { layer.contentsScale = self.animatedImageScale; layer.contents = (__bridge id)_currentFrame.CGImage; diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env new file mode 100644 index 0000000..361f5fb --- /dev/null +++ b/node_modules/react-native/scripts/.packager.env @@ -0,0 +1 @@ +export RCT_METRO_PORT=8081
@legion-zver Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅! Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΈ Π·Π΄Π΅ΡΡ RCT_METRO_PORT ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°?
RN 0.59.0 Π½Π° Xcode 12.0.1. ΠΈ ios 14. ΠΡΠ±ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
RN 0.59.0 Π½Π° Xcode 12.0.1. ΠΈ ios 14. ΠΡΠ±ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
3 ΡΠ΅ΡΠ΅Π½ΠΈΡ:
Π― ΠΌΠΎΠ³Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ, ΡΡΠΎ ΡΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² --configuration=Release
, Π΄Π°ΠΆΠ΅ Π² "react-native": "0.63.3"
. ΠΠ΄Π½Π°ΠΊΠΎ Ρ
ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² --configuration=Debug
.
https://www.npmjs.com/package/react-native-fix-image Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ, Π½ΠΎ Π»ΠΎΠΌΠ°Π΅Ρ ΡΠ±ΠΎΡΠΊΡ
Π²ΡΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Ρ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ:
.../node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m:278:5: error: expected expression
} else {
^
Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (Ρ URL-Π°Π΄ΡΠ΅ΡΠ°) Π½Π° iOS, Π½ΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π½Π΅ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ, Π° ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π»ΡΠ΄ΡΠΌΠΈ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΡΠΏΡΠ°Π²ΡΡΠ΅ ΡΡΠΎ. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ React Native 0.63.3.
https://i.ibb.co/1vDc6kv/1.jpg <- ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
@douglasjunior Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ! Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ!
@RutsSantos ΠΏΡΡΠΌΠΎ Π½Π° ΡΡΠΎΠΌ ΡΠΎΠΆΠ΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ!
- npm install --save ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΎΠ΄Π½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅-ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
- npx ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ-ΡΠΎΠ΄Π½ΠΎΠΉ-ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅-ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
- ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ
ΡΠ°Π±ΠΎΡΠ°Π» Π½Π° ΠΌΠ΅Π½Ρ πππππ
RN 0.59.0 Π½Π° Xcode 12.0.1. ΠΈ ios 14. ΠΡΠ±ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
3 ΡΠ΅ΡΠ΅Π½ΠΈΡ:
- ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΡΡΡΠ½ΡΡ Π² node_modules
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ https://www.npmjs.com/package/react-native-fix-image.
- ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ React Native 0.63.3
Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²ΠΎΠΏΡΠΎΡ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ .1 Π²ΡΡΡΠ½ΡΡ Π² node_modules, ΠΎΠ½ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈ ΠΏΠΎΠΊΠ°Π·Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ΅ΡΠΈ, Π½ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅,
Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (Ρ URL-Π°Π΄ΡΠ΅ΡΠ°) Π½Π° iOS, Π½ΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π΅ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ, Π° ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π»ΡΠ΄ΡΠΌΠΈ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΡΠΏΡΠ°Π²ΡΡΠ΅ ΡΡΠΎ. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ React Native 0.63.3.
https://i.ibb.co/1vDc6kv/1.jpg <- ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
Π― Π½Π°Ρ ΠΎΠΆΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Ρ ΠΌΠ΅Π½Ρ. WebP Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΡΡ Π² iOS 13, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ react-native-fast-image Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ SDWebImageWebPCoder.
Π― Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Ρ ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ ΡΠ±ΠΎΡΠΊΠΈ Microsoft App Center, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ?
Π Π²Π°ΡΠ΅ΠΌΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΌΠΎΠ³ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ FastImage , ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ SDWebImage https://github.com/DylanVann/react-native-fast-image/issues/730 (ΡΠ΅ΠΉΡΠ°Ρ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΄ΠΎ 0.63, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π»ΠΎΠΌΠ°Π΅ΡΡΡ Π΄ΡΡΠ³Π°Ρ ΡΠ°Π±ΠΎΡΠ°, ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ)
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»ΠΈ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΠΏΡΠΎΡΡΠΎΠ³ΠΎ RN, Π½ΠΎ Ρ ΡΠΌΠΎΠ³ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ FastImage ΠΈ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ
const AnimatedImage = Animated.createAnimatedComponent(FastImage)
<AnimatedImage source={require('....')} />
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄ΠΎΠΉΡΠΈ ΠΏΠ°ΠΊΠ΅Ρ Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Appcenter (@krisbaum74), Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΠΎΠ·Π΄Π°Π² appcenter-pre-build.sh
Π² ΠΊΠΎΡΠ½Π΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠΊΡΠΈΠΏΡ Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. ΡΠ°ΠΌ
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΡΡ Π²Π΅ΡΡΠΈΡ 0.63.3 ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π½Π° iOS 14.1. ΠΡΠΎ ΡΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΡΠ±ΡΠ΅ ΠΈΠ΄Π΅ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ?
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΡΡ Π²Π΅ΡΡΠΈΡ 0.63.3 ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π½Π° iOS 14.1. ΠΡΠΎ ΡΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΡΠ±ΡΠ΅ ΠΈΠ΄Π΅ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ?
Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ΡΡ Π΄ΠΎ 0.63.3, Ρ Π²Π°Ρ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ https://www.npmjs.com/package/react-native-fix-image .
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΡΡ Π²Π΅ΡΡΠΈΡ 0.63.3 ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π½Π° iOS 14.1. ΠΡΠΎ ΡΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΡΠ±ΡΠ΅ ΠΈΠ΄Π΅ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ?
Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ΡΡ Π΄ΠΎ 0.63.3, Ρ Π²Π°Ρ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ https://www.npmjs.com/package/react-native-fix-image .
Π― ΡΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΡΡ Π΄ΠΎ 0.63.3, ΠΈ ΡΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π΅ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ (ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π½Π° ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠ΅, Π½ΠΎ Π½Π΅ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅).
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΡΡ Π²Π΅ΡΡΠΈΡ 0.63.3 ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π½Π° iOS 14.1. ΠΡΠΎ ΡΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΡΠ±ΡΠ΅ ΠΈΠ΄Π΅ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ?
Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ΡΡ Π΄ΠΎ 0.63.3, Ρ Π²Π°Ρ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ https://www.npmjs.com/package/react-native-fix-image .
Π― ΡΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΡΡ Π΄ΠΎ 0.63.3, ΠΈ ΡΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π΅ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ (ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π½Π° ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠ΅, Π½ΠΎ Π½Π΅ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅).
ΠΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ»Π° ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ, Π±ΡΠ»Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΡΡΠ»ΠΊΠ°, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π·Π΄Π΅ΡΡ, Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠΉΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
react-native+0.63.0.patch
diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m index 21f1a06..2444713 100644 --- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m +++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m @@ -272,6 +272,9 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink - (void)displayLayer:(CALayer *)layer { + if (!_currentFrame) { + _currentFrame = self.image; + } if (_currentFrame) { layer.contentsScale = self.animatedImageScale; layer.contents = (__bridge id)_currentFrame.CGImage; diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env new file mode 100644 index 0000000..361f5fb --- /dev/null +++ b/node_modules/react-native/scripts/.packager.env @@ -0,0 +1 @@ +export RCT_METRO_PORT=8081
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ patch-package, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°? ΠΠΎΠ²ΠΈΡΠΎΠΊ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ patch-package.
ΠΡΠΈΠ²Π΅Ρ!
1.- Π·Π°ΠΏΡΡΡΠΈΡΡ "npm i -g patch-package"
2.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ patches
3.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ react-native+0.63.0.patch Π²Π½ΡΡΡΠΈ ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.
4.- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΡΠ΅.
5.- Π·Π°ΠΏΡΡΡΠΈΡΡ "patch-package" Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠΎΠ»ΡΡΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ!!!! ΠΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ ΡΠΏΠ°ΡΠ»ΠΈ ΠΌΠΎΠΉ Π΄Π΅Π½Ρ π β€οΈ
ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ
[super displayLayer:layer];
, Π΅ΡΠ»ΠΈ _currentFrame ΡΠ°Π²Π½ΠΎ Π½ΡΠ»ΡΠ΅ΡΠ»ΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, _currentFrame Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄Π»Ρ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ UIImage Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
if (_currentFrame) { layer.contentsScale = self.animatedImageScale; layer.contents = (__bridge id)_currentFrame.CGImage; } else { [super displayLayer:layer]; }
Π Π°Π±ΠΎΡΠ°Π» Π΄Π»Ρ ΠΌΠ΅Π½Ρ !!! π
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ Π΄ΠΎ 0.63.3 ΠΈ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π½Π° iOS 14.
ΠΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΠ°ΠΉΠ»Ρ (ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ) Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ° RN-fetch-blob ΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Image.
@krisbaum74
Π― Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Ρ ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ ΡΠ±ΠΎΡΠΊΠΈ Microsoft App Center, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ?
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
react-native+0.63.0.patch
diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m index 21f1a06..2444713 100644 --- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m +++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m @@ -272,6 +272,9 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink - (void)displayLayer:(CALayer *)layer { + if (!_currentFrame) { + _currentFrame = self.image; + } if (_currentFrame) { layer.contentsScale = self.animatedImageScale; layer.contents = (__bridge id)_currentFrame.CGImage; diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env new file mode 100644 index 0000000..361f5fb --- /dev/null +++ b/node_modules/react-native/scripts/.packager.env @@ -0,0 +1 @@ +export RCT_METRO_PORT=8081
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ patch-package, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°? ΠΠΎΠ²ΠΈΡΠΎΠΊ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ patch-package.
ΠΡΠΈΠ²Π΅Ρ!
1.- Π·Π°ΠΏΡΡΡΠΈΡΡ "npm i -g patch-package"
2.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ patches
3.- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ react-native+0.63.0.patch Π²Π½ΡΡΡΠΈ ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.
4.- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΡΠ΅.
5.- Π·Π°ΠΏΡΡΡΠΈΡΡ "patch-package" Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΡΠΎΡΡΠΎ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡ Π²ΡΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» react-native+0.63.0.patch.
ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π² Π²Π°ΡΠ΅ΠΌ appcenter-pre-build.sh Π΄ΠΎΠ±Π°Π²ΡΡΠ΅
npm i -g ΠΏΠ°ΡΡ-ΠΏΠ°ΠΊΠ΅Ρ
ΠΏΠ°ΡΡ-ΠΏΠ°ΠΊΠ΅Ρ
ΠΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² Π²Π°ΡΡ ΡΠ±ΠΎΡΠΊΡ AppCenter.
Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»ΠΎ ΡΡΠΎ Π½Π° iOS, ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» npx react-native-fix-image, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π». Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²ΡΡΡΠ΅Π²ΠΎΠΆΠ΅Π½, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ², ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° Android!
ΠΠ΄Π΅ΡΡ Π½Π΅Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΎΠ± Android - Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΊΠΎΠΉ?
ΠΠ°ΡΠ°Ρ "ΡΠ΅Π°ΠΊΡ-Π½Π°ΡΠΈΠ²Π½ΡΠΉ": "0.61.5"
_const Image = Animatable.createAnimatableComponent(FastImage);_
ΠΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ!
Π°Π½ΠΈΠΌΠ°ΡΠΈΡ={'bounceIn'} Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
"ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ-ΡΠΎΠ΄Π½ΠΎΠΉ": "0.63.3"
"ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ-Π½Π°ΡΠΈΠ²Π½ΠΎΠ΅-Π±ΡΡΡΡΠΎΠ΅-ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅": "^8.3.4"
"ΡΠ΅Π°Π³ΠΈΡΡΡΡΠΈΠΉ-ΡΠΎΠ΄Π½ΠΎΠΉ-Π°Π½ΠΈΠΌΠΈΡΡΠ΅ΠΌΡΠΉ": "^ 1.3.3"
Π― Π·Π½Π°Ρ, ΡΡΠΎ ΡΡΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΠ°ΡΡΠ΅ΠΌ Π΄Π»Ρ 0.63, Π½ΠΎ Ρ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ, ΡΡΠΎ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π½Π° 0.62. π
ΠΠ½ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° IOS 14.2, Xcode 12.2, React-Native 0.63.4.
ΠΡΠ±ΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ
ΠΠ±Π½ΠΎΠ²Π»ΡΡΡ
0.63.4 - ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ°Π·Ρ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ Π±Π΅Π· ΠΏΠ°ΡΡΠ°, Π½ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ°Π·Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½ΠΈ Ρ ΠΏΠ°ΡΡΠ΅ΠΌ, Π½ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Ρ react-native 0.63.3, ΠΏΠ°ΡΡ Ρ ΠΌΠ΅Π½Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ΅ΡΠ΅Π΄ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΡΠ° Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» ΠΊΠ»Π°ΡΡ RCTUIImageViewAnimated, ΠΈ ΠΎΠ½ ΡΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄ ΠΏΠ°ΡΡΠ°, ΡΡΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ # 29420 ΡΠΆΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ Π² 0.63.3 ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ 0.63.2 CHANGELOG https://github.com/react-native- ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ/ΡΠ΅Π»ΠΈΠ·Ρ/Π±Π»ΠΎΠ±/ΠΌΠ°ΡΡΠ΅Ρ/CHANGELOG.md#v0632. Π’Π°ΠΊ ΡΡΠΎ ΠΏΠ°ΡΡ Π½Π΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡ ΡΡΠΎ, Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ»ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² 0.62.2, Π½ΠΎ Ρ Π±ΠΎΡΡΡ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² 0.63.3 ΡΠ½ΠΎΠ²Π° Π½Π°ΡΡΡΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΡ _local_ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΎ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ, ΠΏΠΎΡΠ΅ΠΌΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΠΎΠ½ΠΈΠ·ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΡ Π΄ΠΎ <0.63.2 ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΏΠ°ΡΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ½ΠΎΠ²Π° ΡΡΠ°Π»ΠΈ Π²ΠΈΠ΄Π½Ρ. Π― Π±Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ΅Π» ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²Π΅ΡΡΠΈΡ 0.63.2, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Ρ Π½Π΅ ΡΠ΅ΡΠ°ΡΡΡ ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ Π½Π°Π·Π°Π΄, Π΄Π° Π΅ΡΠ΅ Π½Π° ΠΎΠ΄Π½Ρ Π²Π΅ΡΡΠΈΡ, ΡΡΠΎΠ±Ρ Π½Π΅ Π·Π°ΡΡΡΡΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ ;-). Π― ΡΠΎΠ·Π΄Π°Π» ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΌΠΎΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Π΅.
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠ°, ΡΡΠΎ Π΄Π»Ρ _me_ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ _Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ_ URL-Π°Π΄ΡΠ΅ΡΠ° (RN 0.63.3).
ΠΠΎΠΉ ΠΎΠ±Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ,
<Image
source={{ uri: 'app_icon' }}
style={{ width: 40, height: 40 }}
/>
ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ (Π΄Π»Ρ ΠΌΠ΅Π½Ρ), Π½ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ,
@RutsSantos ΠΏΡΡΠΌΠΎ Π½Π° ΡΡΠΎΠΌ ΡΠΎΠΆΠ΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ!
- npm install --save ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΎΠ΄Π½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅-ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
- npx ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ-ΡΠΎΠ΄Π½ΠΎΠΉ-ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅-ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
- ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ
ΡΠ°Π±ΠΎΡΠ°Π» Π½Π° ΠΌΠ΅Π½Ρ πππππ
ΠΠ΅ ΡΠ°Π±ΠΎΡΠ°Π» Π½Π° RN 0.61
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ RN 0.61, ΠΈ Π»ΡΠ±ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½Π΅ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ RN 0.61, ΠΈ Π»ΡΠ±ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½Π΅ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
https://www.npmjs.com/package/react-native-fix-image
ΠΡΠ° ΠΌΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΎΠ½Π° Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ RN 0.61
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ RN 0.61, ΠΈ Π»ΡΠ±ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½Π΅ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
https://www.npmjs.com/package/react-native-fix-image
ΠΡΠ° ΠΌΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΎΠ½Π° Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ RN 0.61
ΠΡΠΈΠ²Π΅Ρ, Π₯Π°ΠΉ, Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠ°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π²ΡΡΠ΅, ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·Π°Π» ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠΎΡΠΎΠ²ΠΎ. ΠΠΎ Π½Π° ios 14 ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ. ΠΡΡΠ³ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ios ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ RN 0.61 ΠΈ ios 14.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ
[super displayLayer:layer];
, Π΅ΡΠ»ΠΈ _currentFrame ΡΠ°Π²Π½ΠΎ Π½ΡΠ»ΡΠ΅ΡΠ»ΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, _currentFrame Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄Π»Ρ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ UIImage Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
https://github.com/facebook/react-native/blob/1c634a921887caf02f1b9fba6fd177c352f9ef78/Libraries/Image/RCTUIImageViewAnimated.m#L283 -L289