小编ish*_*hak的帖子

iOS9:崩溃报告中的重复行导致symbolicatecrash卡住

不是问题,因为我已经找到了解决方法.我正在发布它,以便其他人可以利用我花在它上面的时间,并使用我建议的解决方法.

我有一些奇怪的崩溃报告 - 一行重复多次:

...
0x190e08000 -        0x190e49fff  Notes arm64  <f45c09ce977b3282ab0e879252dfebee> /System/Library/PrivateFrameworks/Notes.framework/Notes
0x190f9c000 -        0x190fa6fff  NotificationsUI arm64  <73dcb247ed183ce7bb330d7bb55f93bd> /System/Library/PrivateFrameworks/NotificationsUI.framework/NotificationsUI
0x190fa8000 -        0x190faafff  OAuth arm64  <c2658cb3208b342dbe1e91cea30ebdd5> /System/Library/PrivateFrameworks/OAuth.framework/OAuth
0x191900000 -        0x191903fff  ParsecSubscriptionServiceSupport arm64  <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 -        0x191903fff  ParsecSubscriptionServiceSupport arm64  <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 -        0x191903fff  ParsecSubscriptionServiceSupport arm64  <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 -        0x191903fff  ParsecSubscriptionServiceSupport arm64  <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 -        0x191903fff  ParsecSubscriptionServiceSupport arm64  <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 -        0x191903fff  ParsecSubscriptionServiceSupport arm64  <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 -        0x191903fff  ParsecSubscriptionServiceSupport arm64  <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 -        0x191903fff …
Run Code Online (Sandbox Code Playgroud)

crash-reports symbolicatecrash ios ios9 xcode8

17
推荐指数
1
解决办法
1226
查看次数

iOS9:"无法下载应用"

我们正在为我们公司开发内部iOS应用程序.我们创建表单的本地分发链接

itms-services://?action=download-manifest&url=https://INTERNAL-PATH/manifest.plist
Run Code Online (Sandbox Code Playgroud)

它工作了很长时间,包括iOS8和iOS9的所有测试版.

但是现在对于更新到官方iOS9的每个设备,当尝试从上面的链接安装时,我们得到这个对话框:

错误对话

我已按下"安装"捕获日志,直到收到此错误.它显示在这里.从一开始就有一个我们没有提出的可疑"ios8fix",其中一个失败输出声称BundleValidator:失败的bundleIdentifier:MY_APP_ID.ios8fix与预期的bundleIdentifier不匹配:MY_APP_ID

请注意,"创建新的配置文件"不是一个好的解决方案,因为我正在尝试通过现有应用程序分发更新.

我已经烧了一个愚人节(好的.一整天)试图解决这个问题,并且会在此感谢任何线索!

itunesstored[123] <W>: LoadExternalDownloadManifestOperation: Canceling failed manifest download for replace: MY_APP_ID.ios8fix
itunesstored[123] <W>: [Download]: Adding download(s): -4949958484440492382
itunesstored[123] <W>: LaunchServices: installing placeholder for <LSApplicationProxy: 0x148840860> MY_APP_ID.ios8fix <(null) *Not found in database*>
installd[47] <N>: 0x16e087000 -[MIClientConnection installPath:withOptions:completion:]: Install of "/var/mobile/Library/Caches/com.apple.itunesstored/AppPlaceholders/-4949958484440492382.app" type Placeholder requested by itunesstored (pid 123)
installd[47] <N>: 0x16e12f000 -[MIInstaller performInstallationWithError:]: Installing <MIInstallableBundle ID=MY_APP_ID.ios8fix; Version=8.38.5, ShortVersion=(null)>
installd[47] <N>: 0x16e12f000 -[MIContainer makeContainerLiveReplacingContainer:reason:withError:]: Made container live for MY_APP_ID.ios8fix at /private/var/mobile/Containers/Data/Application/A64E6947-B7E7-46A9-B517-4887AB890E97
installd[47] <N>: 0x16e12f000 …
Run Code Online (Sandbox Code Playgroud)

in-house-distribution ios9

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

iOS:如何延迟启动画面?

启动应用程序时,只要初始化所有资产,就会删除LaunchScreen.xib.

我想让发射屏幕保持至少1秒.

有没有办法实现这个目标?

谢谢!

ios launch-screen

11
推荐指数
3
解决办法
2万
查看次数

在Xcode重新启动之前,XCConfig不会刷新

我希望有一个目标和几个编译方案,并且有一些编译器定义由方案的预执行脚本声明.

pre-action脚本生成一个comp.xcconfig文件,该文件由[Release | Debug] Config.xcconfig #included.

我生成的comp.xcconfig保存了这一行:

GCC_PREPROCESSOR_DEFINITIONS = $(inherited) MY_TEST
Run Code Online (Sandbox Code Playgroud)

我的应用包括以下几行:

#ifdef MY_TEST
    #error ye
#else
    #error oy
#endif
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,使用上面的配置进行编译会产生错误'ye'.

如果我然后将comp.xcconfig更改为:

GCC_PREPROCESSOR_DEFINITIONS = $(inherited) MY_TEST1234
Run Code Online (Sandbox Code Playgroud)

我还在'你'.但是如果我退出Xcode并重新启动它,我就会得到预期的'oy'.

我的问题:

有没有办法强制Xcode跟踪xcconfig文件的更改而无需退出Xcode?

xcode xcconfig ios

9
推荐指数
1
解决办法
915
查看次数

导航栏下方会出现黑条

有几个类似的问题没有得到答案,但含糊地描述.我已将问题缩减为非常薄的应用程序,并添加了详细的屏幕截图.我非常感谢这个解决方案!

唯一涉及的代码是添加到根VC的viewDidLoad一行.这一行的目的是使导航控制器不透明:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.navigationController.navigationBar.translucent = NO;
}
Run Code Online (Sandbox Code Playgroud)

此问题的关键信息是"Title1" 在其导航项中有提示,而"Title2"没有提示.

我有一个带有一个导航控制器的故事板,一个名为"Title1"的根VC,带有一个segue按钮,它带到第二个名为"Title2"的VC

故事板


按下此处按钮时:

预压


我得到这个奇怪的屏幕:

在按下之后


当按下(Title1)时,它变得更糟(即:Title1的原始标签被推高,现在不再被看见!!!):

回来之后

有人请?

navigationitem ios ios7

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

iOS:选择特定的隐藏式字幕 EIA-608

在 iOS 下使用 CC608 有很多谜团。

Apple 的UsingHLS提供在清单中声明它们,如下所示:

#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="cc",NAME="CC1",LANGUAGE="en",DEFAULT=YES,AUTOSELECT=YES,INSTREAM-ID="CC1"
#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="cc",NAME="CC2",LANGUAGE="sp",AUTOSELECT=YES,INSTREAM-ID="CC2"
#EXT-X-STREAM-INF:BANDWIDTH=1000000,SUBTITLES="subs",CLOSED-CAPTIONS="cc" x.m3u8
Run Code Online (Sandbox Code Playgroud)

但是 Apple 的官方示例流确实包含嵌入到 MPEG 中的 CC608,但他们仍然没有在清单中列出它们!

在该样本流,我可以把CC608使用closedCaptionDisplayEnabled = YES,但这种方法不允许特定语言的选择。

在 Apple 的开发论坛中,我发现这个问题的答案很有希望:

你还在叫“player?.closedCaptionDisplayEnabled=true”吗?

没有必要这样做。如果您使用适当的语言标签正确创作 HLS 播放列表,用户可以使用他们选择的语言启用字幕,或者也可以完全禁用它们。

我未能在 iOS 中找到 API,这将允许我:

  1. 阅读可用的 CC608 流列表
  2. 为特定语言激活 CC

非常感谢您的帮助!

http-live-streaming ios avplayer closed-captions

7
推荐指数
0
解决办法
1822
查看次数

Xcode 9:"上传到iTunes Store时发生错误."

升级到Xcode 9后,我试图上传我的应用程序并收到此错误:

iTunes Store Operation Failed
An error occurred uploading to the iTunes Store.
Run Code Online (Sandbox Code Playgroud)

没有指定错误.我找不到出错的谣言.

所以我导出了IPA并使用了Application Loader(Xcode-> Open Developer Tool-> Application Loader).

这次我得到了一堆非常奇怪的消息:

An error occurred while starting bundles for the software update process.  Transporter will try to continue.  Unresolved constraint in bundle com.apple.transporter.asperasupport [5]: Unable to resolve 5.0: missing requirement [5.0] package; (&(package=com.apple.transporter.transport.service)(version>=1.9.6)(version<=1.9.6)) [caused by: Unable to resolve 8.0: missing requirement [8.0] package; (&(package=org.springframework.util.backoff)(version>=4.1.0)(!(version>=5.0.0)))]
An error occurred while starting bundles for the software update process.  Transporter will try to …
Run Code Online (Sandbox Code Playgroud)

xcode app-store

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

iOS:将圆形切片动画为更宽的切片

Core-Animation按照此图像中的描述处理角度:(来自http://btk.tillnagel.com/tutorials/rotation-translation-matrix.html的图片)

编辑:添加动画gif来更好地解释我需要的东西:

在此输入图像描述在此输入图像描述

我需要为切片设置动画以使其变宽,从300:315度开始,到300:060结束.

要创建每个切片,我正在使用此功能:

extension CGFloat {
    func toRadians() -> CGFloat {
        return self * CGFloat(Double.pi) / 180.0
    }
}
func createSlice(angle1:CGFloat, angle2:CGFloat) -> UIBezierPath! {
    let path: UIBezierPath = UIBezierPath()
    let width: CGFloat = self.frame.size.width/2
    let height: CGFloat = self.frame.size.height/2
    let centerToOrigin: CGFloat = sqrt((height)*(height)+(width)*(width));
    let ctr: CGPoint = CGPoint(x: width, y: height)
    path.move(to: ctr)
    path.addArc( withCenter: ctr,
                 radius: centerToOrigin,
                 startAngle: CGFloat(angle1).toRadians(),
                 endAngle: CGFloat(angle2).toRadians(),
                 clockwise: true
    )
    path.close()
    return path
}
Run Code Online (Sandbox Code Playgroud)

我现在可以创建两个切片和一个较小的子层,但我找不到如何从这一点开始:

func doStuff() {
    path1 = …
Run Code Online (Sandbox Code Playgroud)

core-animation ios

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

iOS 11:是否可以阻止屏幕录制?

我有一个播放视频的应用程序,我不希望人们使用新的iOS-11功能来录制这些视频并将其公开.这个功能在这里描述.

我找不到任何关于我的应用程序选项的文档,以防止用户录制它.

有人可以指导我做任何与此相关的事吗?

谢谢!

ios ios11

5
推荐指数
1
解决办法
2536
查看次数

iOS:如何生成随机柔和的颜色?

如何为 iOS 生成漂亮的柔和色彩?

David Crow 在 Java 中提供了一个出色的彩色答案:Algorithm to random generated an beautifuls-pleased color Palette

那么我们如何适配iOS呢?

colors ios

3
推荐指数
1
解决办法
1520
查看次数

AVAudioPlayer无法在某些设备上播放

我的代码在iPad-4和iPhone 6+上的模拟器上完美运行,所有这些都运行在iOS 9.0.2上.

但是,我知道这是一个奇怪的说法,在我的iPad Air 2上看起来它正在工作,但实际上什么都没有听到.还在其他设备上重现,如另一台iPhone 6+和另一台运行iOS 8.4的iPhone 6.我已经创建了一个演示项目(下面的链接),以便其他人可以尝试自己的设备.

我这样做:

  1. NSURL *url使用以下路径初始化[[NSBundle mainBundle] resourcePath]:
    /var/mobile/Containers/Bundle/Application/0ACADB94-886E-4C7E-A327-3FFF0E54CEF9/My App.app/sndEfcts/!snap.mp3
  2. 将新对象分配到ivar中:

    audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&err];
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在调试器中测试网址 - 好!(请注意,该空间变为%20.我还验证该文件存在):

    (lldb) po audioPlayer.url
    file:///var/mobile/Containers/Bundle/Application/0ACADB94-886E-4C7E-A327-3FFF0E54CEF9/My%20App.app/sndEfcts/!snap.mp3`
    
    Run Code Online (Sandbox Code Playgroud)
  4. 播放如果创建好:

    if (audioPlayer) {
        audioPlayer.delegate = self;
        [audioPlayer prepareToPlay];
        __unused BOOL playOk = [audioPlayer play];
    }
    
    Run Code Online (Sandbox Code Playgroud)
  5. 完成代表被激活: - (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
    ...并且标志说是! - 但没有听到任何消息:(

所以一切似乎都没问题,仍然没有听到声音(虽然其他应用程序的其他声音确实可以正常工作)

有没有人知道这种行为的原因?

编辑

我已经创建了一个简单的项目来演示.它发生在各种设备上,即使是8.4.在模拟器上它始终有效

avaudioplayer ipad ios

2
推荐指数
1
解决办法
218
查看次数