小编jos*_*hap的帖子

在版本控制签入中包含CocoaPods?

我想知道在给定的iOS项目中由CocoaPods创建的文件应该被检入版本控制.包含和忽略最有意义的是什么?我应该添加Podfile吗?或者我应该添加整个pods目录?

git version-control ios cocoapods

16
推荐指数
1
解决办法
3028
查看次数

iOS上的播放受限于来自YouTube API的VEVO视频

我已根据建议使用UIWebView将视频(从YouTube API v3中提取)嵌入到我的iPhone应用中.问题是某些视频(例如来自VEVO的视频)在尝试在设备上播放时会产生以下错误.

此视频包含来自VEVO的内容.限制在某些网站上播放.

这不应该发生,因为像Flipboard和Rockpack这样的应用程序似乎也在使用UIWebView,并且能够播放来自VEVO和其他来源的视频.

我能做错什么?

PS:我知道还有其他帖子以某种方式涉及这个问题,但他们未能解决这个具体问题.

youtube iphone youtube-api ios ytplayerview

10
推荐指数
2
解决办法
2848
查看次数

UIViewControllerRepresentable:NavigationView 中忽略的导航标题和栏按钮项

  • 我有一个UITableViewController包含在UIViewControllerRepresentable.
  • 我已经在我的视图控制器中设置了navigationItem.titlenavigationItem.leftBarButtonItems
  • 我提出我的UIViewControllerRepresentable实例作为SwiftUI的目的地NavigationLink一个SwiftUI内NavigationView
  • 当视图被推入导航堆栈时,表格视图出现,但标题和栏按钮项不出现。

这里发生了什么?

uiviewcontroller uikit uinavigationitem navigationview swiftui

10
推荐指数
3
解决办法
2640
查看次数

SwiftUI:NavigationView 中列表的导航标题卡在原位(滚动动画损坏)

我创建了一个List包含在NavigationView. 列表的标题以默认方式设置并且显示正常:.navigationBarTitle("My Title")。问题是滚动行为被破坏了。

也就是说,当滚动列表时,大标题应该消失,让导航栏与小标题一起出现。然而,大标题只是卡在原地,当列表以一种看起来有问题的方式在它后面滚动时不会移动。

animation list navigationbar navigationview swiftui

6
推荐指数
1
解决办法
2232
查看次数

AVPlayerLooper打ic /视频循环错误

问题

我正在使用AVPlayerLooper无限期重播HTTP Live Streaming视频。该视频可在前三个循环中完美回放。但是在第四个循环以及此后的所有循环中,视频“打“”。换句话说,当视频接近其结束时间时,视频会闪烁,播放最后几帧大约一秒钟,然后再次闪烁并重新启动。这也导致通知AVPlayerItemDidPlayToEndTime被调用两次,并且playerLooper.loopCount每次调用都递增。

如何阻止我的视频打ic?

附加信息:

  • 我只有一些视频有此问题。其他人无缝地工作。
  • AVPlayerLooper旨在允许HTTP Live Streaming视频的无缝循环。它通过制作所提供模板的三个副本AVPlayerItemAVQueuePlayer按照称为“跑步机模式” 的方式(也提供)连续播放它们来工作。似乎在播放完每个项目副本之后,我们就遇到了上面的问题。

avfoundation video-streaming ios avqueueplayer

5
推荐指数
0
解决办法
386
查看次数

SwiftUI:如何以模态正确显示AVPlayerViewController?

正确的UIKit方法:

根据Apple在WWDC 2019上有关此主题的演讲AVPlayerViewController应以模态呈现,以利用API的所有最新全屏功能。这是建议的示例代码,可从当前的UIKit视图控制器调用该代码:

// Create the player
let player = AVPlayer(url: videoURL)

// Create the player view controller and associate the player
let playerViewController = AVPlayerViewController()
playerViewController.player = player

// Present the player view controller modally
present(playerViewController, animated: true)
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,并以漂亮的全屏模式启动视频。

使用SwiftUI获得相同的效果?:

为了使用AVPlayerViewController来自SwiftUI的代码,我创建了UIViewControllerRepresentable实现:

struct AVPlayerView: UIViewControllerRepresentable {

    @Binding var videoURL: URL

    private var player: AVPlayer {
        return AVPlayer(url: videoURL)
    }

    func updateUIViewController(_ playerController: AVPlayerViewController, context: Context) {
        playerController.player = player
        playerController.player?.play()
    }

    func …
Run Code Online (Sandbox Code Playgroud)

presentmodalviewcontroller avkit avplayerviewcontroller swiftui

5
推荐指数
3
解决办法
323
查看次数