TheWidlarzGroup / react-native-video

A <Video /> component for react-native
https://thewidlarzgroup.github.io/react-native-video/
MIT License
7.18k stars 2.89k forks source link

[BUG]: pod install / build fails on iOS #3807

Closed mannoeu closed 5 months ago

mannoeu commented 5 months ago

Version

react-native-video: 6.0.0 react-native: 0.73.4 xcode: 13.2.1

What platforms are you having the problem on?

iOS

Architecture

New architecture with interop layer

What happened?

In the old architecture, pods are not installed. In the new architecture, the build fails.

Reproduction

Step to reproduce this bug are:

When migrating from v5 to v6 and running pod install

When using xcode 14 it works without the need to modify the Podfile with use_frameworks or create react-native.config.js file. I asked a colleague with macOS that supports xcode 14 to build the test.

The following Swift pods cannot yet be integrated as static libraries:

The Swift pod `react-native-video` depends upon `glog`, which does not define modules.
To opt into those targets generating module maps (which is necessary to import them from Swift 
when building as static libraries), you may set `use_modular_headers!` globally 
in your Podfile, or specify `:modular_headers => true` for particular dependencies.

I added the react-native.config.js file as described in https://thewidlarzgroup.github.io/react-native-video/other/new-arch and added it to my Podfile use_frameworks! :linkage => :static

At this point pod install works but when trying to build I receive several errors

/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/DataStructures/CustomMetadata.swift:11:24: error: variable binding in a condition requires an initializer
        guard let json else {
                       ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:85:33: error: variable binding in a condition requires an initializer
        if let playbackObserver {
                                ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:101:33: error: variable binding in a condition requires an initializer
        if let playbackObserver {
                                ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:126:27: error: variable binding in a condition requires an initializer
            guard let self, let player = self.currentPlayer else {
                          ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:138:27: error: variable binding in a condition requires an initializer
            guard let self, let player = self.currentPlayer else {
                          ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:150:27: error: variable binding in a condition requires an initializer
            guard let self, let player = self.currentPlayer else {
                          ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:159:27: error: variable binding in a condition requires an initializer
            guard let self, let player = self.currentPlayer else {
                          ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:169:27: error: variable binding in a condition requires an initializer
            guard let self, let player = self.currentPlayer else {
                          ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:263:28: error: variable binding in a condition requires an initializer
            guard let self else { return }
                           ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTIMAAdsManager.swift:27:30: error: variable binding in a condition requires an initializer
            guard let _video else { return }
                             ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTIMAAdsManager.swift:48:34: error: variable binding in a condition requires an initializer
            guard let adsManager else { return }
                                 ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTIMAAdsManager.swift:70:30: error: variable binding in a condition requires an initializer
            guard let _video else { return }
                             ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTIMAAdsManager.swift:94:30: error: variable binding in a condition requires an initializer
            guard let _video else { return }
                             ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTIMAAdsManager.swift:130:30: error: variable binding in a condition requires an initializer
            guard let _video else { return }
                             ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPictureInPicture.swift:27:48: error: variable binding in a condition requires an initializer
            guard let _onPictureInPictureEnter else { return }
                                               ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPictureInPicture.swift:33:47: error: variable binding in a condition requires an initializer
            guard let _onPictureInPictureExit else { return }
                                              ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPictureInPicture.swift:42:70: error: variable binding in a condition requires an initializer
            guard let _onRestoreUserInterfaceForPictureInPictureStop else { return }
                                                                     ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPictureInPicture.swift:50:72: error: variable binding in a condition requires an initializer
            guard let _restoreUserInterfaceForPIPStopCompletionHandler else { return }
                                                                       ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPictureInPicture.swift:56:35: error: variable binding in a condition requires an initializer
            guard let playerLayer else { return }
                                  ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPictureInPicture.swift:76:38: error: variable binding in a condition requires an initializer
            guard let _pipController else { return }
                                     ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:61:34: error: variable binding in a condition requires an initializer
            guard let playerItem else { return }
                                 ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:116:26: error: variable binding in a condition requires an initializer
        if let _handlers {
                         ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:122:29: error: variable binding in a condition requires an initializer
        guard let _handlers else { return }
                            ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:133:29: error: variable binding in a condition requires an initializer
        guard let _handlers else { return }
                            ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:138:25: error: variable binding in a condition requires an initializer
        guard let player, let _handlers else {
                        ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:138:41: error: variable binding in a condition requires an initializer
        guard let player, let _handlers else {
                                        ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:145:17: warning: unknown operating system for build configuration 'os'
        #if !os(visionOS)
                ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:145:17: note: did you mean 'iOS'?
        #if !os(visionOS)
                ^~~~~~~~
                iOS
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:145:17: note: did you mean 'Windows'?
        #if !os(visionOS)
                ^~~~~~~~
                Windows
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:158:29: error: variable binding in a condition requires an initializer
        guard let playerItem, let _handlers else { return }
                            ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:158:45: error: variable binding in a condition requires an initializer
        guard let playerItem, let _handlers else { return }
                                            ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:188:39: error: variable binding in a condition requires an initializer
        guard let playerViewController, let _handlers else { return }
                                      ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:188:55: error: variable binding in a condition requires an initializer
        guard let playerViewController, let _handlers else { return }
                                                      ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:190:17: warning: unknown operating system for build configuration 'os'
        #if !os(visionOS)
                ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:190:17: note: did you mean 'iOS'?
        #if !os(visionOS)
                ^~~~~~~~
                iOS
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:190:17: note: did you mean 'Windows'?
        #if !os(visionOS)
                ^~~~~~~~
                Windows
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:214:29: error: variable binding in a condition requires an initializer
        guard let _handlers else { return }
                            ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:223:29: error: variable binding in a condition requires an initializer
        guard let _handlers else { return }
                            ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:250:34: error: variable binding in a condition requires an initializer
        if let newUpdateInterval {
                                 ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:259:29: error: variable binding in a condition requires an initializer
        guard let _handlers else { return }
                            ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:298:26: error: variable binding in a condition requires an initializer
        if let _handlers {
                         ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:304:29: error: variable binding in a condition requires an initializer
        guard let _handlers else { return }
                            ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:310:29: error: variable binding in a condition requires an initializer
        guard let _handlers else { return }
                            ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:319:29: error: variable binding in a condition requires an initializer
        guard let _handlers else { return }
                            ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:327:68: error: variable binding in a condition requires an initializer
        guard let _restoreUserInterfaceForPIPStopCompletionHandler else { return }
                                                                   ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:126:47: error: type of expression is ambiguous without more context
            guard let self, let player = self.currentPlayer else {
                                         ~~~~~^~~~~~~~~~~~~
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:138:47: error: type of expression is ambiguous without more context
            guard let self, let player = self.currentPlayer else {
                                         ~~~~~^~~~~~~~~~~~~
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:150:47: error: type of expression is ambiguous without more context
            guard let self, let player = self.currentPlayer else {
                                         ~~~~~^~~~~~~~~~~~~
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:159:47: error: type of expression is ambiguous without more context
            guard let self, let player = self.currentPlayer else {
                                         ~~~~~^~~~~~~~~~~~~
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:169:47: error: type of expression is ambiguous without more context
            guard let self, let player = self.currentPlayer else {
                                         ~~~~~^~~~~~~~~~~~~
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:269:29: error: reference to property 'currentPlayer' in closure requires explicit use of 'self' to make capture semantics explicit
            if rate != 0 && currentPlayer != player {
                            ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:262:47: note: weak capture of 'self' here does not enable implicit 'self'
        return player.observe(\.rate) { [weak self] player, change in
                                              ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:270:17: error: call to method 'setCurrentPlayer' in closure requires explicit use of 'self' to make capture semantics explicit
                setCurrentPlayer(player: player)
                ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:262:47: note: weak capture of 'self' here does not enable implicit 'self'
        return player.observe(\.rate) { [weak self] player, change in
                                              ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:276:29: error: reference to property 'currentPlayer' in closure requires explicit use of 'self' to make capture semantics explicit
            if rate == 0 && currentPlayer == player {
                            ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:262:47: note: weak capture of 'self' here does not enable implicit 'self'
        return player.observe(\.rate) { [weak self] player, change in
                                              ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:277:17: error: call to method 'findNewCurrentPlayer' in closure requires explicit use of 'self' to make capture semantics explicit
                findNewCurrentPlayer()
                ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/NowPlayingInfoCenterManager.swift:262:47: note: weak capture of 'self' here does not enable implicit 'self'
        return player.observe(\.rate) { [weak self] player, change in
                                              ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:142:52: error: cannot infer key path type from context; consider explicitly specifying a root type
        _playerRateChangeObserver = player.observe(\.rate, options: [.old], changeHandler: _handlers.handlePlaybackRateChange)
                                                   ^
                                                    <#Root#>
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:142:71: error: reference to member 'old' cannot be resolved without a contextual type
        _playerRateChangeObserver = player.observe(\.rate, options: [.old], changeHandler: _handlers.handlePlaybackRateChange)
                                                                      ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:143:54: error: cannot infer key path type from context; consider explicitly specifying a root type
        _playerVolumeChangeObserver = player.observe(\.volume, options: [.old], changeHandler: _handlers.handleVolumeChange)
                                                     ^
                                                      <#Root#>
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:143:75: error: reference to member 'old' cannot be resolved without a contextual type
        _playerVolumeChangeObserver = player.observe(\.volume, options: [.old], changeHandler: _handlers.handleVolumeChange)
                                                                          ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:144:65: error: cannot infer key path type from context; consider explicitly specifying a root type
        _playerTimeControlStatusChangeObserver = player.observe(\.timeControlStatus, options: [.old], changeHandler: _handlers.handleTimeControlStatusChange)
                                                                ^
                                                                 <#Root#>
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:144:97: error: reference to member 'old' cannot be resolved without a contextual type
        _playerTimeControlStatusChangeObserver = player.observe(\.timeControlStatus, options: [.old], changeHandler: _handlers.handleTimeControlStatusChange)
                                                                                                ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:146:68: error: cannot infer key path type from context; consider explicitly specifying a root type
            _playerExternalPlaybackActiveObserver = player.observe(\.isExternalPlaybackActive, changeHandler: _handlers.handleExternalPlaybackActiveChange)
                                                                   ^
                                                                    <#Root#>
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:159:56: error: cannot infer key path type from context; consider explicitly specifying a root type
        _playerItemStatusObserver = playerItem.observe(\.status, options: [.new, .old], changeHandler: _handlers.handlePlayerItemStatusChange)
                                                       ^
                                                        <#Root#>
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:159:77: error: reference to member 'new' cannot be resolved without a contextual type
        _playerItemStatusObserver = playerItem.observe(\.status, options: [.new, .old], changeHandler: _handlers.handlePlayerItemStatusChange)
                                                                            ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:159:83: error: reference to member 'old' cannot be resolved without a contextual type
        _playerItemStatusObserver = playerItem.observe(\.status, options: [.new, .old], changeHandler: _handlers.handlePlayerItemStatusChange)
                                                                                  ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:161:13: error: cannot infer key path type from context; consider explicitly specifying a root type
            \.isPlaybackBufferEmpty,
            ^
             <#Root#>
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:162:24: error: reference to member 'new' cannot be resolved without a contextual type
            options: [.new, .old],
                       ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:162:30: error: reference to member 'old' cannot be resolved without a contextual type
            options: [.new, .old],
                             ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:166:13: error: cannot infer key path type from context; consider explicitly specifying a root type
            \.isPlaybackLikelyToKeepUp,
            ^
             <#Root#>
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:167:24: error: reference to member 'new' cannot be resolved without a contextual type
            options: [.new, .old],
                       ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:167:30: error: reference to member 'old' cannot be resolved without a contextual type
            options: [.new, .old],
                             ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:173:13: error: cannot infer key path type from context; consider explicitly specifying a root type
            \.tracks,
            ^
             <#Root#>
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:174:24: error: reference to member 'new' cannot be resolved without a contextual type
            options: [.new, .old],
                       ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:174:30: error: reference to member 'old' cannot be resolved without a contextual type
            options: [.new, .old],
                             ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:192:17: error: cannot infer key path type from context; consider explicitly specifying a root type
                \.isReadyForDisplay,
                ^
                 <#Root#>
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:193:28: error: reference to member 'new' cannot be resolved without a contextual type
                options: [.new],
                           ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:200:30: error: reference to member 'old' cannot be resolved without a contextual type
            options: [.new, .old],
                             ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:200:24: error: reference to member 'new' cannot be resolved without a contextual type
            options: [.new, .old],
                       ^
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:238:40: warning: expression implicitly coerced from 'Any?' to 'Any'
            player?.removeTimeObserver(_timeObserver)
                                       ^~~~~~~~~~~~~
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:238:40: note: provide a default value to avoid this warning
            player?.removeTimeObserver(_timeObserver)
                                       ^~~~~~~~~~~~~
                                                     ?? <#default value#>
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:238:40: note: force-unwrap the value to avoid this warning
            player?.removeTimeObserver(_timeObserver)
                                       ^~~~~~~~~~~~~
                                                    !
/Users/pablougulino/Desktop/repos/closeer-app-pro/node_modules/react-native-video/ios/Video/Features/RCTPlayerObserver.swift:238:40: note: explicitly cast to 'Any' with 'as Any' to silence this warning
            player?.removeTimeObserver(_timeObserver)
                                       ^~~~~~~~~~~~~
                                                     as Any
/Users/pablougulino/Library/Developer/Xcode/DerivedData/closeer_pro-ctgkoypqgozhzkbbtiuwdphsfmua/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-video.build/Objects-normal/x86_64/Chapter.dia:1:1: warning: Could not read serialized diagnostics file: error("Invalid diagnostics signature") (in target 'react-native-video' from project 'Pods')
Command CompileSwift failed with a nonzero exit code

image

image

freeboub commented 5 months ago

I don't see any error in your log :/ can you please either find the log with error: or check error in xcode

mannoeu commented 5 months ago

I don't see any error in your log :/ can you please either find the log with error: or check error in xcode

Sorry for this, I will update issue with log and image

freeboub commented 5 months ago

Wahoo, I think you should update your xcode which is too old ...

freeboub commented 5 months ago

related to : https://github.com/TheWidlarzGroup/react-native-video/issues/3829

mannoeu commented 5 months ago

Wahoo, I think you should update your xcode which is too old ...

Is there any way to fix it without updating xcode? My macOS doesn't support the version higher than the one I'm using

freeboub commented 5 months ago

I am afraid no ... We cannot maintain the repository for 'all' xcode version 😞

freeboub commented 5 months ago

I will close the ticket for now, If you are able to fix the build, I think we would be happy to merge the PR but it seems too huge for now ...