小编Dre*_*ree的帖子

为什么信标会导致蓝牙不断切换?

我在使用iOS和iBeacon时遇到了一个非常奇怪的错误.我有一个非常简单的BeaconManager范围信标,具有特定的UUID,主要和次要值,并在找到它们后执行一些操作.我的应用似乎正常工作,直到它不断切换蓝牙状态并停止工作.唯一可见的结果是状态栏中的蓝牙图标由于蓝牙停止和重新启动而开始闪烁.

在哪里集中注意力?

这是我的班级定义:

#import "BeaconManager.h"

@implementation BeaconManager

- (instancetype)init {
    self = [super init];
    if (self) {
        NSURL *beep = [[NSBundle mainBundle] URLForResource:@"beep" withExtension:@"aiff"];
        soundFileURLRef = (CFURLRef) CFBridgingRetain(beep);
        AudioServicesCreateSystemSoundID(soundFileURLRef, &soundFileObject);

        // Initializes properties
        beacon = [CLBeacon new];
        foundBeacons = [NSMutableArray new];
        _lastBeaconActionTimes = [[NSMutableDictionary alloc] init];
    }
    return self;
}

- (void)initRegion {
    // Initializes the beacon region by giving it an UUID and an identifier
    NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:BEACON];
    beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:@"beacon.region"]; …
Run Code Online (Sandbox Code Playgroud)

bluetooth ios ibeacon

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

Xcode 8.0的通配符App ID问题

我曾经有一个配置文件,其中包含一个相关的通配符应用程序ID(*),可以为客户签署一堆应用程序.每个显式应用程序ID都声明为Xcode项目中的Bundle ID字段.问题是每个应用程序都使用无线附件配置功能.据Apple报道(https://developer.apple.com/library/ios/qa/qa1713/_index.html),

由于应用程序ID指定了权利的唯一配置,因此通配符应用程序ID用于代码签名所有不启用应用程序特定功能的应用程序.

在Xcode 7.3之前,这不是什么大问题,它总能奏效.更新到Xcode 8.0的最后一个公开测试版后,我无法使用与我的配置文件关联的通配符应用ID对我的应用程序进行编码,我无法为其添加显式应用ID,因为它们已由客户管理.当我尝试使用新的自动代码签名功能时,它告诉我,我在Xcode项目的Bundle ID字段中建议的应用程序ID无法注册到我的开发团队(当然不是!),因为它属于客户的团队我不是其中的一员.

如果我单击Xco​​de托管配置文件旁边的信息泄露按钮,我可以看到的唯一问题是缺少无线附件配置功能

在此输入图像描述

那么,我是否可以要求客户将此功能添加到显式应用ID中以解决此问题?

如果我尝试使用旧方法使用我的配置文件(我再次重新生成)直接在Build Settings中对应用程序进行代码签名,我总是会遇到以下问题:

"应用程序"不是代码签名但需要权利.如果不对其进行签名,则无法将权利添加到二进制文件中.

SDK"iOS 10.0"中的产品类型"应用"需要代码签名

有人可以帮我解决这个问题吗?我被困了几天.

xcode ios

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

UITextField 起始光标位置错误

我有一个带有一些预编译文本的文本字段。文本字段内的文本在视觉上是右对齐的。当我点击文本字段时,我希望光标位于文本的末尾,以便我可以准备编辑文本。默认情况下,光标位于文本的开头,如果我点击该单词,则位于单词的末尾。

我试图selectedTextRange按照其他答案的建议设置该属性,但我无法实现结果。我注意到becomeFirstResponder()给出正确行为的方式。

func textFieldDidBeginEditing(_ textField: UITextField) {
    textField.selectedTextRange =
        textField.textRange(from: textField.endOfDocument, to: textField.endOfDocument)
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

uitextfield ios swift

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

无法使用 Xcode 12.0 beta 5 构建项目

我下载了 Xcode 12.0 beta 5 并尝试构建我的项目,但收到以下错误:

<unknown>:0: error: unable to load standard library for target 'arm64-apple-ios9.0'
Run Code Online (Sandbox Code Playgroud)

我尝试在线搜索解决方案,但我发现的所有内容都没有帮助我解决此错误。我在 SO 上找到了这个线程,但没有一个提议的解决方案对我有用。

我认为这是与模拟器有关的错误。事实上,该项目使用通用设备和真实设备正确构建。

ios ios-simulator swift xcode12

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

使用导航控制器中的"自动布局"在主视图和滚动视图之间进行间隙

我在管理导航视图控制器中嵌入的滚动视图时遇到了一些麻烦.我正在使用自动布局,我会尽力解释这个问题.

  1. 我在控制器的主视图中嵌入了一个滚动视图,并将顶部,左侧,底部和右侧边框固定在主视图的边框上.
  2. UIView在滚动视图中嵌入了一个标准,并给它一个800点的固定高度.这应该作为我所有控件的容器(让我们将其命名为内容视图).然后我再次将其顶部,左侧,底部和右侧边框固定到滚动视图的边框.因为滚动视图的后代视图的底部空间约束是负的,所以我调整它将其恢复为0.
  3. 对于宽度,我将CTRL从内容视图拖动到主视图,并添加了等宽度约束.
  4. 最后,我添加了一个图像视图,并将其放置在我的内容视图的顶部中心,添加了一些进一步的简单约束.

我刚刚描述的情况的故事板如上所示(在文档大纲中,您应该看到我定义的所有约束).

故事板

我的滚动视图有效,它滚动得很好,图像视图在它应该是的地方很好地居中.但是,导航栏的结尾和滚动视图的开头之间存在差距,我无法弄清楚原因.它似乎和导航栏一样高,但我不知道如何修复它.下面显示的图像应该让您了解我在说什么(为清晰起见,内容视图以灰色突出显示).

间隙

我没有写一行代码来实现这个结果.我非常感谢任何帮助,我愿意为您提供帮助我解决问题所需的所有信息.

uiscrollview ios autolayout

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