标签: xcode9

如何记录在Xcode中显示为运行时问题的警告?

Xcode 8或9开始显示运行时问题.您会在窗口顶部看到一个紫色图标,并在Issue Navigator中看到一个列表,旁边是构建时间问题,如编译警告和错误.

在此输入图像描述

在此输入图像描述

我见过的运行时问题是由系统库创建的.有没有办法让我自己的应用程序代码生成这些?

xcode ios ios11 xcode9

22
推荐指数
1
解决办法
874
查看次数

Xcode 9/10中的代码折叠更改

我知道在Xcode9的早期Beta版本中缺少代码折叠,并且可以通过CMD点击折叠整个方法.

但是在Xcode 8中我能够通过编辑器>>代码折叠>>折叠来折叠块中的代码(即单个if语句),但是在Xcode 9中,这折叠了整个方法.

是否有修复/设置我可以更改以恢复Xcode 8功能?

xcode code-folding swift xcode9 xcode10

22
推荐指数
3
解决办法
8842
查看次数

用自定义相机iOS 11.0 Swift拍照4.更新错误

我在我的应用程序中有一个自定义相机,它工作正常,但在新的更新后,我收到此错误:

'jpegPhotoDataRepresentation(forJPEGSampleBuffer:previewPhotoSampleBuffer :)'在iOS 11.0中已弃用:请改用 - [AVCapturePhoto fileDataRepresentation].

这是我收到错误的行:

    guard let imageData =
        AVCapturePhotoOutput.jpegPhotoDataRepresentation(forJPEGSampleBuffer: photoSampleBuffer, previewPhotoSampleBuffer: previewPhotoSampleBuffer) else {
            return
    }
Run Code Online (Sandbox Code Playgroud)

这是我的全部功能(如果需要):

//Take pic function
func photoOutput(_ captureOutput: AVCapturePhotoOutput,
                 didFinishProcessingPhoto photoSampleBuffer: CMSampleBuffer?,
                 previewPhoto previewPhotoSampleBuffer: CMSampleBuffer?,
                 resolvedSettings: AVCaptureResolvedPhotoSettings,
                 bracketSettings: AVCaptureBracketedStillImageSettings?,
                 error: Error?) {


    // Make sure we get some photo sample buffer
    guard error == nil,
        let photoSampleBuffer = photoSampleBuffer else {
            print("Error capturing photo: \(String(describing: error))")
            return
    }
    // Convert photo same buffer to a jpeg image data by using // …
Run Code Online (Sandbox Code Playgroud)

xcode camera swift swift4 xcode9

22
推荐指数
2
解决办法
9979
查看次数

Xcode 9 - 高CPU使用率 - 风扇最大速度

自从我升级到Xcode 9后,我的粉丝在我使用Xcode时发疯了.当我使用Storyboards和Interface Builder时,尤其会发生这种情况.

Xcode有时占用CPU的100%,名为"Interface Builder Cocoa Touch Tool"的过程也非常贪婪.

我在这里和那里读到其他人有类似的问题,但我想知道是否有人找到了解决方案,因为它很可能是一个Xcode错误.

我试过的事情:

  • 拔掉我的第二个屏幕:没有效果
  • 重新启动Xcode:没有效果
  • 重启Mac:没有效果
  • 清理派生数据文件夹:无效
  • 清洁项目:没有效果
  • 当时只打开1x项目(烦人):好一点但仍然不太好

有没有人找到这个问题的解决方案?

Mac配置:

  • MacBook Pro(Retina,15英寸,2014年中)
  • 处理器:2.5 GHz Intel Core i7
  • 内存:16 GB 1600 MHz DDR3
  • 图形:NVIDIA GeForce GT 750M 2048 MB Intel Iris Pro 1536 MB

Xcode版本: 9.0(9A235)

cpu performance xcode xcode9

22
推荐指数
1
解决办法
4927
查看次数

项目'Pods' - 打开整个模块优化

在Xcode 9中,我得到了一个可可豆荚项目的以下建议: 建议

它有什么作用?而且,我应该打开它,还是会破坏它?

xcode cocoapods swift xcode9

22
推荐指数
2
解决办法
3042
查看次数

"Apple开发者计划许可协议"已更新

我的Xcode现在自动更新我收到此错误:

"Apple开发者计划许可协议"已更新.要访问某些成员资源,您必须接受最新的许可协议.

我觉得很蠢.我在哪里接受这个?

xcode code-signing ios xcode9

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

Objective-C @available可以保护AND并拥有更多条件

Objective-C 在XCode 9+/LLVM 5+中有一个@available表达式,它允许您将代码块保护到至少某个操作系统版本,这样如果您使用仅在该范围内可用的API,它就不会发出无人看守的可用性警告操作系统版本

问题在于,这种可用性保护是它只有在它是条件的唯一表达时才有效if.如果您在任何其他上下文中使用它,您会收到警告:

@available does not guard availability here; use if (@available) instead
Run Code Online (Sandbox Code Playgroud)

因此,例如,如果您尝试将可用性检查与以下其他条件进行对比,则它不起作用if:

if (@available(iOS 11.0, *) && some_condition) {
  // code to run when on iOS 11+ and some_condition is true
} else {
  // code to run when on older iOS or some_condition is false
}
Run Code Online (Sandbox Code Playgroud)

任何在if块内或在块内使用iOS 11 API的代码some_condition都会产生无人看守的可用性警告,即使可以保证只有在iOS 11+上才能访问这些代码.

我可以把它变成两个嵌套if的,但是else代码必须重复,这很糟糕(特别是如果它有很多代码):

if (@available(iOS 11.0, *)) {
  if (some_condition) {
    // …
Run Code Online (Sandbox Code Playgroud)

objective-c ios availability xcode9

21
推荐指数
3
解决办法
8877
查看次数

"无法设置插件占位符"消息?

Xcode 9.1 Simulator 10.0 OSX 10.12.6

我想将我的贴纸包的新版本上传到iTunes Connect.但产品>存档显示为灰色.所以我运行模拟器并且"无法为(名称)设置插件占位符."

全世界任何地方只有一个答案 - 删除派生数据文件夹.我做了并得到了同样的错误信息.

BTW在Xcode的General下,版本为1.构建版本为1.4.是否必须在其他地方更改内部版本号?

testing ios ios-simulator xcode9

21
推荐指数
5
解决办法
9166
查看次数

CoreData:注释:无法在Xcode 9 GM的路径上加载优化模型

无法加载OMO警告(潜在崩溃):

在调试/发布版本(iOS 11 GM/beta和iOS 10)中,在控制台中观察到带有警告的xcode 9的项目:

CoreData: annotation:  Failed to load optimized model at path "/Users/xyz.abc/Library/Developer/CoreSimulator/Devices/A-GUID/data/Containers/Bundle/Application/B-GUID/app-name.app/Frameworks/framework-name/mystorename.momd/mystorename 6.omo"
Run Code Online (Sandbox Code Playgroud)

使用CD的任何自定义框架(例如GoogleMaps等)也会导致此警告和潜在的崩溃.

更新:使用Xcode版本9.1 beta(9B46)不会导致此警告.

注意:

  • 还注意到这与app和其他框架中使用的模态.对于app,clean build会导致此错误.警告中显示的路径指向与app一起使用的模型,而不是框架.
  • 使用以前的Xcode编译工作正常,没有注意到警告.

试过以下:

  1. 完全干净的构建
  2. 确保omo存在于datamodel v6中,ManagedObjectModel和PersistentStoreCoordinator是非零的.所有功能都按预期工作.
  3. 添加更新版本的datamodel v7,确保omo v7存在 - 干净的构建和设备部署
  4. 再次添加架构

请添加建议.这个警告的潜在影响是什么?

有关:

  1. https://openradar.appspot.com/33212613
  2. https://openradar.appspot.com/33573724
  3. https://openradar.appspot.com/33773917
  4. https://issuetracker.google.com/issues/35827124
  5. https://issuetracker.google.com/issues/35827113

与旧的Xcode 6/iOS 9和Xcode 7/iOS 9类似的问题

  1. 核心数据 - 无法在路径中加载优化模型
  2. CoreData:无法在路径中加载优化模型
  3. Google Maps SDK for iOS运行时警告 - 核心日期无法加载优化路径

core-data objective-c ios xcode9

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

refreshPreferences iOS 11 + Xcode 9中的HangTracerEnabled/HangTracerDuration消息

更新到iOS 11后,在iPhone中运行应用程序后,我在Xcode控制台中收到此消息:

SibDiet[924:111682] refreshPreferences: HangTracerEnabled: 0
SibDiet[924:111682] refreshPreferences: HangTracerDuration: 500
SibDiet[924:111682] refreshPreferences: ActivationLoggingEnabled: 0 ActivationLoggingTaskedOffByDA:0
Run Code Online (Sandbox Code Playgroud)

现在我在每个模拟器和应用程序中收到此消息.

我怎么解决这个问题?

ios swift xcode9

20
推荐指数
2
解决办法
4763
查看次数