小编Mik*_*ael的帖子

尝试在Xcode中打印对象描述会产生错误

我有一个Objective-C对象,我们可以调用ObjCObj我实现了一个简单的描述方法,如果我在局部变量中实例化该类,通常可以正常工作.

问题:我遍历一个ObjCObj对象数组并将它们放入Swift数组中

let cacheArray = [ObjCObj]()
Run Code Online (Sandbox Code Playgroud)

我的数组填满后,我尝试设置一个断点,尝试打印一个项的值,我得到以下错误:

expression produced error: 

/var/folders/w9/3rvg1bk95379dgvcr11n16_h0000gp/T/lldb/3499/expr878.swift:1:46: error: use of undeclared type '__ObjC'
$__lldb__DumpForDebugger(Swift.UnsafePointer<__ObjC.ObjCObj>(bitPattern: 0x67fd9b0).memory)
Run Code Online (Sandbox Code Playgroud)

如果我尝试打印像这样的表达式:

cacheArray[2]
Run Code Online (Sandbox Code Playgroud)

有用.但是,如果我在调试器检查器中打开数组并选择一行数组并要求打印描述,则会失败.

debugging xcode objective-c ios swift

12
推荐指数
1
解决办法
1558
查看次数

禁止Xcode项目中的所有警告选项在构建时不会隐藏警告

  1. Cocoapods inhibit_all_warnings!没有将Pods项目"禁止所有警告"设置为"是"

  2. 在设置Pod项目和单个窗格"禁止所有警告"选项为"是"后,Xcode仍显示窗格警告

Cocoapods版本:0.39.0 Xcode版本:7.2

我的吊舱在这里:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

# ignore all warnings from all pods
inhibit_all_warnings!

pod 'SnapKit', '~> 0.15.0'
pod 'Crashlytics'
pod 'YLGIFImage'
pod 'Fabric'
pod "AFNetworking", "~> 2.0"
pod 'SDWebImage', '~>3.7'

# Changes build active architecture only
post_install do |installer_representation|
  installer_representation.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

xcode compilation ios cocoapods

11
推荐指数
1
解决办法
2006
查看次数

Swift UIViewReportBrokenSuperviewChain由Layer操作引起

我将代码迁移到Swift 3后遇到了一个问题.我猜iOS10现在提出了新问题,它实际上与Swift本身无关.

错误:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'View has lost track of its superview, most likely through unsupported use of CALayer API on the view's layer. If this isn't a crash yet, it will be in the near future. 
    Problem view: <UIToolbar: 0x102552d80; frame = (0 0; 375 683); alpha = 0.97; opaque = NO; layer = <CALayer: 0x1700383e0>>
    Expected parent: <MyModelView: 0x10250ecd0; frame = (0 -16; 375 683); hidden = YES; layer = <CALayer: …
Run Code Online (Sandbox Code Playgroud)

xcode ios ios10

11
推荐指数
1
解决办法
3674
查看次数

如何在使用交互式键盘时删除有关resignFirstResponder的警告?

这只是一个警告,应用程序工作正常,但可能有这个警告的原因.

我在网上发现了类似的问题,但还没有答案.首先,错误:

[查看]第一响应者警告:'; layer =; contentOffset:{0,0}; contentSize:{302,20}; adjustContentInset:{0,0,0,0}>'从层次结构中删除时拒绝resignFirstResponder

设置是一个chatviewcontroller,因此它是一个嵌入UIViewController内的UITableView,它包含带文本的单元格.

当我们向下滑动聊天项列表时,我们正在使用UIScrollView类的Dismiss Interactively键盘功能来关闭键盘.

我们在键盘上添加一个inputAccessory,用作文本输入区+发送按钮.

在包含UITableView的UIViewController中,我们添加以下UIResponder覆盖以获取accessoryView.

override var inputAccessoryView: UIView {
    return messageInputView
  }
Run Code Online (Sandbox Code Playgroud)

问题是我们以交互方式解除键盘(使其从屏幕上消失),我们收到此警告.任何输入,任何有关该主题的帮助都会很棒!

xcode uitextview ios

10
推荐指数
1
解决办法
1115
查看次数

UITableView部分标题没有显示

我正在尝试使用autolayout创建节标题.带标题和计数器的简单标题

class ProfilePeopleListHeaderViewCell: UIView {

  let titleLeftOffset = 12
  let counterRightOffset = 5
  let counterWidth = 50

  var title = "title" {
    didSet {
      titleLabel.text = title
    }
  }
  var numberOfPeople = 0 {
    didSet {
      peopleCounter.text = "\(numberOfPeople)"
    }
  }

  let titleLabel = UILabel()
  let peopleCounter = UILabel()


  convenience init(title: String, numberOfPeople:Int) {
    self.init()
    self.title = title
    self.numberOfPeople = numberOfPeople
    backgroundColor = UIColor.greenColor()
    titleLabel.textColor = Constants.Colors.ThemeGreen
    titleLabel.textAlignment = .Left
    if #available(iOS 8.2, *) {
      titleLabel.font = Constants.Fonts.Profile.PeopleListHeaderFont
      peopleCounter.font = …
Run Code Online (Sandbox Code Playgroud)

uitableview ios autolayout swift uitableviewsectionheader

8
推荐指数
2
解决办法
6378
查看次数

searchBar与节标题视图重叠

我把searchBar放在tableHeaderView中.在iphone 6上一切正常,但在iphone 5s上,我得到了这个奇怪的结果?

 override func viewDidLoad() {
    super.viewDidLoad()
    tableView.delegate = self
    tableView.dataSource = self
    tableView.sectionIndexColor = Constants.Colors.ThemeGreen
    tableView.sectionIndexBackgroundColor = UIColor.clearColor()
    tableView.sectionIndexTrackingBackgroundColor = UIColor.clearColor()
    tableView.contentInset = UIEdgeInsetsMake(0, 0, CGFloat(Constants.Dimensions.TabBarHeight), 0)
    resultSearchController = UISearchController(searchResultsController: nil)
    resultSearchController.searchResultsUpdater = self
    resultSearchController.dimsBackgroundDuringPresentation = false
    resultSearchController.definesPresentationContext = true
    tableView.tableHeaderView = resultSearchController.searchBar
    resultSearchController.searchBar.sizeToFit()

 //Fetch data for the first time
    do{
      try fetchedResultsController.performFetch()
      listHeaderView?.count = "\(fetchedResultsController.fetchedObjects!.count)"
    }catch{
      print("Error - Couldn't fetch list")
    }
Run Code Online (Sandbox Code Playgroud)
  • 注意:我正在使用NSFetchedResultController来检索数据

在此输入图像描述

iphone uitableview uisearchbar ios autolayout

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

代码中无法识别 Xcode 其他 Swift 标志

我有一个 Swift 项目,我向它添加了一个单元测试目标。我的配置文件 Constants.swift 包含一个结构:

struct Constants {
  struct Network {
    #if APITESTS
    static let serverURL = "https://www.servertest.com"
    #else
    static let serverURL = "https://www.server.com"
    #endif
  }
}
Run Code Online (Sandbox Code Playgroud)

在我的测试目标中,Other Swift Flags我添加了 -DAPITESTS 然后使用 CMD+U 运行单元测试在我的测试中存在的日志中,我可以看到它是“ https://www.server.com ”,它应该是 servertest .

如果我使用 #if DEBUG 而不是 APITESTS,它会起作用。如果我尝试在 Active Compilation Conditions(就像 DEBUG)中添加 APITESTS,它仍然无法识别。

有明确的解释吗?

xcode swift

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

为什么应用商店上传后预览质量很低?

我们更新了应用商店描述、屏幕截图,还添加了视频预览。视频预览已按照 Apple 的建议使用带有“导出为应用程序预览”选项的 iMovie 生成。

我们有 5.5 英寸和 6.5 英寸的视频,在 iMovie 导出后在本地播放时,它们都非常干净且高质量。

今天早上苹果审核结束后,我们去App Store查看了一下,发现视频质量确实很低。

造成这种低质量的原因是什么?在商店提供高清版本的视频之前,苹果方面是否需要进行一些服务器处理?

仅供参考 > 应用程序名称是:Ikou - 与你的朋友见面

感谢您的反馈!

app-store ios

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

在没有动画的情况下在UISearchController上强制结束编辑

当我弹出当前的ViewController时,我想从用户界面中删除searchBar。现在,我这样做:

 override func viewWillDisappear(animated: Bool) {
  resultSearchController.active = false //Need improvement here. remove animation
  super.viewWillDisappear(animated)
}
Run Code Online (Sandbox Code Playgroud)

这里发生的是UISearchController被关闭了,但是带有动画...而且在当前状态下看起来非常糟糕。我希望它回到没有动画的初始状态,然后viewController消失并带有自己的动画。

animation ios swift uisearchcontroller

4
推荐指数
1
解决办法
1356
查看次数

自定义 TableViewCell 触发 NSLayoutConstraint 错误 'UIView-Encapsulated-Layout-Height'

我对单元格使用自动高度。每次我想用新数据(这里是模型变量)更新我的单元格时,我都会更新我的自动布局约束,但出现错误。在这里只是为了说明这个问题,我什至没有改变约束。我只是要求重新计算布局。

在单元格的第一次初始化时:没有警告,没问题。

错误:

<NSLayoutConstraint:0x174285d70 'UIView-Encapsulated-Layout-Height'
 UITableViewCellContentView:0x1030f8a50.height == 500   (active)>
Run Code Online (Sandbox Code Playgroud)

编码:

tableView.rowHeight = UITableViewAutomaticDimension

override func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
      return 500
  }

class TestTableViewCell: UITableViewCell {

  var model: X? {
    didSet {
      setNeedsLayout()
      layoutIfNeeded()
    }
  }

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

  override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
    super.init(style: style, reuseIdentifier: reuseIdentifier) …
Run Code Online (Sandbox Code Playgroud)

uitableview ios autolayout swift snapkit

4
推荐指数
1
解决办法
986
查看次数

Vagrant usbfilter使客户机器进入无效状态

根据以下说明:https: //gist.github.com/dergachev/3866825#vagrant-setup

Ubuntu Linaro uname -a Linux ken-desktop 3.11.0-18-generic#32-Ubuntu SMP Tue Feb 18 21:11:14 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux cat/proc/version Linux version 3.11.0-18- generic(buildd @ toyol)(gcc版本4.8.1(Ubuntu/Linaro 4.8.1-10ubuntu8))#32-Ubuntu SMP Tue 2月18日21:11:14 UTC 2014

VirtualBox虚拟-4.2

VBoxManage --version
4.2.16_Ubuntur86992
Run Code Online (Sandbox Code Playgroud)

Vagrant 1.5 vagrant_1.5.0_x86_64.deb

在cookbooks文件夹中,我克隆了以下厨师烹饪书:

git clone git://github.com/opscode-cookbooks/vim.git
git clone git://github.com/opscode-cookbooks/git.git
git clone git://github.com/opscode-cookbooks/apt.git
git clone git://github.com/tiokksar/chef-oh-my-zsh-solo.git
git clone git://github.com/opscode-cookbooks/openssl.git
git clone git://github.com/getaroom/chef-couchbase.git
Run Code Online (Sandbox Code Playgroud)

我也安装了这个:

https://github.com/dotless-de/vagrant-vbguest
vagrant plugin install vagrant-vbguest
Run Code Online (Sandbox Code Playgroud)

我尝试制作一个漂亮的Vagrantfile,用usb自动挂载创建一个精确的64虚拟机.但每次我尝试在我的虚拟机VM上添加一个usbfilter时,我最终都会收到该消息:

% vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: …
Run Code Online (Sandbox Code Playgroud)

virtualbox vagrant usb-hostcontroller

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

XCode 单元测试中没有这样的模块 &lt;产品模块名称&gt;

我有一个混合的 Objective-c 和 Swift 项目,我尝试为它编写单元测试。我的项目名称是:Alphaproject 我的产品模块名称是:Alphaproject 我在我的主要目标(Alphaproject)中设置为 YES 定义模块,并设置为 YES EnableTestability for Debug only in this same Target。

在我的 Test 类中,我尝试导入我的产品模块名称:

@testable 导入 Alphaproject

补充说明:

  • 我所有的项目文件只是主要目标的一部分
  • 我的测试文件只是测试目标的一部分
  • 我的测试方案设置为构建调试配置。
  • 我还尝试清理 Build 文件夹(ALT + Clean)
  • 该项目在编译或尝试运行测试时没有任何错误,除了这个“没有这样的模块 Alphaproject”

还有其他想法吗?

xcode unit-testing compilation objective-c swift

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