小编KSR*_*KSR的帖子

在iOS 9.2及更低版本上,Xcode 8构建崩溃

当我使用Xcode 8 GM Seed构建我的应用程序并在iOS 9.2下面的设备或模拟器上运行时,我在应用程序启动期间或应用程序启动后几秒钟发生奇怪的EXC_BAD_ACCESS崩溃.崩溃总是发生在不同的地方(添加子视图[UIImage imageNamed:],app委托的主要方法等).当我在iOS 9.3+或10上运行它时,我没有得到那些崩溃,当我使用Xcode 7 构建并在iOS 9.2及更低版本上运行时,我没有得到它们.有没有其他人经历类似的事情?这是Xcode 8的已知问题吗?

crash ios ios9.2 xcode8

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

iOS 10.0 UIRefreshControl未显示指示符

我正在使用一个UITableView,它具有一个下拉刷新功能,但当我调用[self.refreshControl beginRefreshing]时,下拉刷新的微调器没有出现

上面的代码在viewDidLoad中调用,因为表最初正在加载一些数据.如果我在初始刷新后执行下拉刷新,则微调器工作正常.标题显示但不是旋转器.

似乎无法解决这个问题.它适用于iOS 9.3.2,但不适用于iOS 10.

这是我目前使用的代码.

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self setupView];
    [self customSetup];
    self.refreshControl = [[UIRefreshControl alloc] init];
    self.refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"Updating Discounts..."];
    [self.refreshControl addTarget:self action:@selector(reloadDeals) forControlEvents:UIControlEventValueChanged];
    [self.refreshControl beginRefreshing];
    [self.tableView setContentOffset:CGPointMake(0, -self.refreshControl.frame.size.height) animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助

uitableview ios uirefreshcontrol ios10 ios9.3.2

18
推荐指数
1
解决办法
7606
查看次数

用户说完后停止语音识别

Siri如何能够确定我说完的时间.我想知道的原因是我想用我的应用程序与Apple的语音识别API实现类似的功能.这是可行的,还是通过用户输入知道用户何时停止说话的唯一方法?

speech-recognition ios swift

14
推荐指数
1
解决办法
1711
查看次数

Xcode 8 GM - SQLite错误代码:6922,'磁盘I/O错误'

我正在重新发布我的iPhone应用程序,现在我的UIManagedDocument上的executeFetchRequest获取了一个SQLite错误代码:6922.我搜索了互联网,没有SQLite错误代码6922.任何人都看到这个.使用Xcode 7,一切都运行良好.

sqlite ios uimanageddocument xcode8

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

当调用栏处于活动状态时,自定义UIViewController转换设置错误的topLayoutGuide和bottomLayoutGuide

我有一个UIViewController呈现另一个UIViewController.两个视图控制器都使用topLayoutGuidebottomLayoutGuide使用自动布局.

一切都很好,有和没有通话栏.或者有或没有自定义过渡...

但是,当存在调用栏自定义转换时,我呈现的视图控制器的子视图错误地放下了20px(导致底部的剪切视图).

我查了一下topLayoutGuide,bottomLayoutGuide这是错误的......

这是过渡的代码:

#pragma mark - GETTER
- (CGFloat)presentationTopProgressValue {
    return __fromViewControllerView.y / __containerView.height;
}

#pragma mark - SETTER
- (void)set_context:(id<UIViewControllerContextTransitioning>)_context {
    __context = _context;
    __containerView = [__context containerView];

    __fromViewController = [__context viewControllerForKey:UITransitionContextFromViewControllerKey];
    __fromViewControllerView = [__fromViewController view];
    __toViewController = [__context viewControllerForKey:UITransitionContextToViewControllerKey];
    __toViewControllerView = [__toViewController view];
}

#pragma mark - TRANSITION
- (id<UIViewControllerAnimatedTransitioning>)animationControllerForPresentedController:(UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)source {
    return self;
}

#pragma mark …
Run Code Online (Sandbox Code Playgroud)

transitions uiviewcontroller ios in-call autolayout

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

Xcode构建和运行成功,但是存档失败

我的应用程序生成并成功运行,但是存档失败,因此无法创建ipa文件。错误日志如下:

ld: library not found for -lAAMFeedback clang: error: linker command failed with exit code 1 (use -v to see invocation)

库是这样的:pod'AAMFeedback',:git =>' https://github.com/PlusR/AAMFeedback.git '

有人遇到过同样的情况吗?请分享经验以帮助我。谢谢,

版本信息:
Xcode版本:7.3.1
目标ios版本:8.0

xcode ios cocoapods

7
推荐指数
2
解决办法
4570
查看次数

无法在通知服务扩展中使用 pod

我正在创建一个通知扩展,按照规范添加目标并在其中添加一个 pod,如下所示:

步骤1 :

target 'MyProject' do

   # Integration - Frameworks
   pod 'Fabric'
        pod 'Crashlytics'
        pod 'MORichNotification'
   end


target 'NotificationServices' do
    pod 'MORichNotification'
end
Run Code Online (Sandbox Code Playgroud)

步骤:2 将“MORichNotification.h”导入到我的项目桥头文件中。

现在我想MORichNotification在我的班级中使用班级NotificationService,它显示以下错误。 在此输入图像描述

我尝试使用“清理项目”、“重新启动”、“擦除 DerivedData”,但没有任何改变。

iphone ios cocoapods swift moengage

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

快速协议扩展中的计算变量

刚开始在面向协议的协议编程之后迅速工作,我面临着使用计算变量的问题。

我已经制定了一个协议来检查整个应用程序上的Internet可达性(而不是使用已经实现的UIVIewController子类来实现此行为)。但是,当我运行应用程序时,计算变量()的访问集属性崩溃: 在此处输入图片说明

这是代码:

import UIKit

protocol ReachabilityProtocol: class {
    var reachability: NetReach? { get set }

    func startReachability()
    func stopReachability()

    func internetIsAccessible()
    func internetIsNotAccessible()
}


extension ReachabilityProtocol where Self: UIViewController {

    var reachability: NetReach? {
        get { return reachability }
        set { reachability = newValue }
    }

    func startReachability() {

        do {
            reachability = try NetReach.reachabilityForInternetConnection()
        } catch {
            print("Unable to create Reachability")
            return
        }

        NSNotificationCenter.defaultCenter().addObserverForName(ReachabilityChangedNotification, object: reachability, queue: nil, usingBlock: { notification in

        let reachable = notification.object as! NetReach …
Run Code Online (Sandbox Code Playgroud)

xcode ios afnetworking swift swift-protocols

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

什么是Swift中的@discardableResult声明的ObjC版本

在Swift 3中,当没有使用返回值时会出现警告.@discardableResult声明将禁止该功能.

我如何在ObjC文件中声明这个,意思是,相反的 __attribute__((warn_unused_result))

objective-c llvm ios swift

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

iOS10语音识别“听”音效

我正在使用新的 iOS10 框架进行实时语音识别。我AVCaptureSession用来获取音频。

我有一个“聆听”蜂鸣声来通知用户他可以开始说话了。放置该声音的最佳方法是在第一次调用 时captureOutput(:didOutputSampleBuffer..),但如果我在开始会话后尝试播放声音,该声音将不会播放。并且没有抛出任何错误......它只是默默地无法播放......

我试过的:

  • 播放系统声音 ( AudioServicesPlaySystemSound...())
  • 播放资产 AVPlayer
  • 还在主队列上尝试了上述两种解决方案的异步/同步

似乎无论我在做什么,在触发识别后都不可能触发播放任何类型的音频(不确定是特定的AVCaptureSession还是SFSpeechAudioBufferRecognitionRequest/ SFSpeechRecognitionTask...)

有任何想法吗?Apple 甚至建议播放“聆听”音效(并使用 Siri 自己做),但我找不到任何参考/示例展示如何实际做到这一点......(他们的“ SpeakToMe ”示例不播放声音)

  • 我可以在触发会话之前播放声音,它确实有效(在播放声音完成后开始会话时)但有时在实际开始识别时会出现延迟(主要是在使用 BT 耳机并从不同的 AudioSession 类别切换时) - 为此我没有完成事件......) - 因此,我需要一种在录音实际开始时播放声音的方法,而不是在它触发和交叉手指之前它不会延迟开始......

iphone speech-recognition ios

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