小编bar*_*ley的帖子

如何从UIWebView(或WKWebView)访问资产目录中的图像资源

我们有一个本地html来显示UIWebView.在那里,我们想要显示资产目录中定义的图像.

我知道如果我们在主要包中保持图像平坦,我们可以做类似的事情.代码片段就是这样的.

webView.loadHTMLString("<img src='target_image.png'/>", baseURL: NSBundle.mainBundle().bundleURL)
Run Code Online (Sandbox Code Playgroud)

但是,如果png文件打包在资产目录中,我不确定我可以为"target_image.png"指定什么.(此外,我们要指定pdf以利用Xcode 6中的矢量图像支持)

有没有人知道如何实现这一目标?

uiwebview ios asset-catalog

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

当网络变为活动状态(并准备好播放)时,如何从AVQueuePlayer/AVPlayerItem获取回调?

我有一个AVQueuePlayer基于音频流的播放器需要在后台运行.玩家需要继续运行,直到完成所有列表的播放.当然,如果网络连接变坏,它将不得不暂停,但它应该在网络连接恢复时自动恢复.

为此,我正在监控

  • AVPlayerItem.status
  • AVPlayerItem.playbackLikelyToKeepUp
  • AVPlayer.currentItem
  • AVPlayer.status
  • AVPlayer.error

使用KVO.例如,如果网络连接从临时错误恢复,我期望currentAVPlayerItem.status变为AVPlayerStatusItemReadyToPlay,将报告给我的播放器,我可以[AVQueuePlayer play]在那时发布.

这种机制(逻辑)似乎在某些情况下起作用,但在离线环境中经常AVPlayerItem.status变为AVPlayerItemStatusFailed,哪个项目AVQueuePlayer似乎自动跳过.结果,队列将变为空,并且不能从中接收回调AVPlayerItem.

我希望,在某些属性AVPlayer,当网络连接变坏/恢复,但似乎没有任何改变(会改变status,error等等).

显然我可以监控Reachability,但当应用程序在后台运行时,这不起作用.

我怎么知道网络何时重新启动并且AVQueuePlayer在这种情况下可以再次播放?

我可能只是这个地区的新手.如果有人能够让我大致了解他/她如何AVQueuePlayer在不被临时网络连接问题完全阻止的情况下实现持续的游戏体验,那将是一个非常棒的帮助!

iphone audio ios avplayer avqueueplayer

8
推荐指数
1
解决办法
1045
查看次数

为什么来自CocoaPods的Acknowledgements.plist看起来在iOS 9上搞砸了,你能做些什么呢?

CocoaPods会自动生成Acknowledgements.plist文件,以便您可以在settings.bundle中包含该文件.

之后,我将Acknowledgements.plist添加到settings.bundle中.

Acknowledgements.plist看起来像这样:

在此输入图像描述

这在iOS 8上看起来很像(如预期):

在此输入图像描述

但是,iOS 9在title和footerText之间插入了大的空格,这使得它很难看:

在此输入图像描述

看起来这不是这个文件(致谢)特定的,iOS 9通常会在title和footerText之间放置巨大的垂直空间.问题是,你如何解决这种情况并将格式良好的致谢置于plist中?

plist ios settings.bundle cocoapods ios9

7
推荐指数
1
解决办法
896
查看次数

内容在使用UIScrollView缩小时跳转

我想要帮助我的UIScrollView示例.

我创建了一个简单的程序来滚动和缩放内容(UIImageView).它工作正常,但我尝试缩小时内容经常消失到右下角.但是因为我设置minimumZoomScale为1.0f,它实际上没有缩小,只有内容跳出视图.更奇怪的是,在此之后我无法向上滚动.显然内容大小也很混乱.

在此输入图像描述

我在示例代码中的设置如下图所示.

在此输入图像描述

在(尝试)缩小后检查状态时,我发现了两个错误的东西.

  • _scrollView.contentSize 是480x360,不应小于1000x1000
  • _scrollView.bounds以某种方式跳到顶端(即,_scrollView.bounds.origin.y始终为0)

为了处理上面的两个项目,我在UIScrollViewDelegate中添加了以下代码,现在它可以正常工作.

- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view
{
    if(scrollView == _scrollView && view == _contentView)
    {
        // Setting ivars for scrollViewDidZoom
        _contentOffsetBeforeZoom = _scrollView.contentOffset;
        _scrollViewBoundsBeforeZoom = _scrollView.bounds;
    }
}

- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
    if(scrollView == _scrollView)
    {
        // If you zoom out, there are cases where ScrollView content size becomes smaller than original,
        // even though minimum zoom scale = 1. In that case, it will mess …
Run Code Online (Sandbox Code Playgroud)

uiscrollview ios

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

使用ProGuard缩小代码后,在APK分析器中的哪里可以找到我的BuildConfig?

请在Android Studio上查看以下来自Analyze APK的图像。

  • 第一个是minifyEnabled = false,和
  • 另一个与minifyEnabled = true(当然是在使用mapping.txt解码之后)

在此处输入图片说明
minifyEnabled = falseBuildConfig在那儿。

在此处输入图片说明
minifyEnabled = true(使用mapping.txt解码)。BuildConfig不在这里。

我可以BuildConfigclasses.dex缩小之前找到,而在缩小之后找不到。我找不到关于这个的任何文件/讨论,但是有一些规则,以剥离BuildConfigclasses.dex与涅槃后的ProGuard?在那种情况下,这是否意味着将敏感信息放入相对安全BuildConfig?或者,它可能只是藏在其他地方?

如果重要的话,我的ProGuard版本是4.7。

android proguard buildconfig android-buildconfig

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