小编bry*_*ark的帖子

OAuth究竟是什么(开放授权)?

OAuth究竟是什么(开放授权)?

我收集了一些信息

但我想学习并了解更多.我正在寻找有关生命周期的信息.为什么大多数社交网络都依赖于这种开放协议?

它会在不久的将来成为各种技术(例如ASP.NET)的事实吗?

oauth

199
推荐指数
6
解决办法
11万
查看次数

如何在UILabel中找到文本子字符串的CGRect?

对于给定的NSRange,我想找到一个CGRectUILabel对应的的字形NSRange.例如,我想CGRect在"快速的棕色狐狸跳过懒狗"这句话中找到包含"狗"字样的字样.

问题的视觉描述

诀窍是,UILabel有多行,而文本确实attributedText如此,所以找到字符串的确切位置有点困难.

我想在我的UILabel子类上写的方法看起来像这样:

 - (CGRect)rectForSubstringWithRange:(NSRange)range;
Run Code Online (Sandbox Code Playgroud)

细节,对于有兴趣的人:

我的目标是能够创建一个具有UILabel的确切外观和位置的新UILabel,然后我可以制作动画.我已经把剩下的事情搞清楚了,但特别是这一步让我暂时退缩了.

到目前为止我尝试解决问题的方法是:

  • 我希望在iOS 7中,有一些Text Kit可以解决这个问题,但是我用Text Kit看到的大多数例子都集中在UITextViewUITextField而不是UILabel.
  • 我在这里看到了有关Stack Overflow的另一个问题,它承诺解决问题,但是已接受的答案已经超过两年了,并且代码在属性文本中表现不佳.

我敢打赌,对此的正确答案涉及以下其中一项:

  • 使用标准的Text Kit方法在一行代码中解决此问题.我打赌它会涉及NSLayoutManagertextContainerForGlyphAtIndex:effectiveRange
  • 编写一个复杂的方法,将UILabel分成几行,并在一行中找到一个字形的矩形,可能使用Core Text方法.我目前最好的选择是拆开@mattt优秀的TTTAttributedLabel,它有一个方法可以在一个点上找到一个字形 - 如果我将其反转,并找到一个可能有效的字形点.

更新:这是一个github要点,我已经尝试了迄今为止解决这个问题的三件事:https://gist.github.com/bryanjclark/7036101

uilabel ios ios7 textkit

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

搜索具有空"to-many"关系的所有对象的Core Data

在与这个问题几乎完全相同的情况下,只有我正在寻找一种与另一种类型没有任何多对多关系的记录.

所以,假设我有一组患者和一组清单.患者可以属于多个列表,并且列表可以包含多个患者.

如何查找不在任何列表中的所有患者? 我正在使用核心数据模型.

更新:想出来,但由于我的声誉<100,我无法回答我自己的问题.这是我做的:

NSPredicate *predicate = [NSPredicate
                          predicateWithFormat:@"lists.@count == 0"];
[fetchRequest setPredicate:predicate];
Run Code Online (Sandbox Code Playgroud)

然后,当我运行获取请求时,它只会启动没有附加列表的患者.

iphone many-to-many core-data nsfetchedresultscontroller ios

34
推荐指数
2
解决办法
3790
查看次数

CTLine具有"字符串访问权"是什么意思?

我正试图用UILabel来解决一个毛茸茸的问题,除了一件事之外,我已经弄清楚了它的大部分内容:我正在挑战了解对于CTLine"字符串访问" 意味着什么.

我想用的方法是CTLineGetOffsetForStringIndex.这是该方法文档的链接.

这是我不理解的文档部分(重点是我的):

charIndex沿基线的主偏移量,如果该行不支持字符串访问,则为0.0.

当我运行这个方法时,我0.0回来了,所以我猜这意味着该行不支持字符串访问 - 但这究竟是什么意思呢?

iphone uilabel core-text ios ctlineref

26
推荐指数
1
解决办法
571
查看次数

在Python中格式化APNS样式的JSON消息以与Amazon SNS一起使用

我正在创建一个iOS应用程序,而对于我们的推送通知,我们正在使用亚马逊的简单通知服务(SNS).

SNS很精彩,但文档很少.我正在使用亚马逊的Python库boto,我已经找到了如何发送纯文本推送通知:

device_arn = 'MY ENDPOINT ARN GOES HERE'
plain_text_message = 'a plaintext message'
sns.publish(message=plain_text_message,target_arn=device_arn)
Run Code Online (Sandbox Code Playgroud)

但是,文档中不清楚的是如何创建Apple推送通知服务(APNS)消息.我需要发送声音和徽章以及推送通知,但无法弄清楚如何格式化消息的JSON.

到目前为止,这是我最好的猜测:

message = {'default':'default message', 'message':{'APNS_SANDBOX':{'aps':{'alert':'inner message','sound':'mySound.caf'}}}}
messageJSON = json.dumps(message,ensure_ascii=False)
sns.publish(message=messageJSON,target_arn=device_arn,message_structure='json')
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此代码时,我在通知上看到的只是"默认消息" - 这意味着Amazon SNS拒绝了我的消息格式,default而是显示了该消息.

如何正确格式化此JSON?

python json amazon-web-services apple-push-notifications amazon-sns

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

将多对多关系迁移到Core Data中的连接表

我有一个iPhone应用程序,它使用多对多关系将标签和注释链接在一起.我目前正在使用Core Data的"关系"功能来完成此任务,但我想迁移到使用连接表.

这是我的挑战:我想从旧模型迁移到连接表模型,我需要弄清楚如何执行数据迁移.

有什么好的例子说明如何做到这一点?

更新:我在这里澄清我的问题,以帮助解决这里发生的事情:我想尝试使用Simperium来支持我们的应用程序,但是Simperium不支持多对多关系(!).

作为我正在尝试做的一个例子,让我们以iPhoneCoreDataRecipes应用程序为例.

以下是我的核心数据方案目前的类似内容: 在此输入图像描述

......这就是我要过渡到的地方: 在此输入图像描述

我如何从一个到另一个,并带来数据?

Apple的Core Data Migration文档非常稀疏,我没有看到任何有用的演练来使用NSEntityMapping或NSMigrationManager子类来完成工作.

iphone core-data core-data-migration ios simperium

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

如何在WatchKit中为模态界面设置导航标题的色调颜色?

在WatchKit中,我知道我可以在storyboard文件中设置"Global Tint"值,以调整界面控制器中导航标题的文本颜色.

但是,每当我在我的应用程序中呈现模态接口控制器时,我注意到InterfaceController的标题显示为白色,而不是全局色调颜色.

这是故事板文件中的色调设置:

在此输入图像描述

这是我发现的问题的一个例子:

没有关于模态导航的色彩

如何获取模态的标题以使用全局色调?

ios watchkit

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

WatchKit:什么是"Kermit",这个控制台日志声明是什么意思?

我正在探索WatchKit SDK,当我在模拟器中导航应用程序时,我在控制台日志中看到这个错误语句:

2014-11-20 10:43:11.154 MyWatchApp WatchKit Extension[32002:1257966] Can't append data to log file, even after retrying. Giving up. Facilities: <CFArray 0x7fa9d84048d0 [0x110325ef0]>{type = immutable, count = 1, values = (
0 : <CFString 0x10ff04c48 [0x110325ef0]>{contents = "Kermit"}
)}
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?什么是Kermit?如何捕获并探索此警告?

ios swift apple-watch watchkit

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

Reactive Cocoa - 以编程方式设置文本时不会调用UITextView的rac_textSignal

我正在实现一个聊天UI,并使用Reactive Cocoa根据用户的类型调整聊天气泡的大小.目前,我正在根据textview更新UI的布局rac_textSignal.一切都很好 - 除了一点:当用户发送消息时,我以编程方式清除文本字段:

_inputTextView.text = @"";
Run Code Online (Sandbox Code Playgroud)

...但textview rac_textSignal不会激活.我听说这是ReactiveCocoa的一个功能 - 但是构建它的正确方法是什么?我是否需要拥有一个NSString currentlyTypedString,并在该字符串更新时驱动UI更改?

objective-c uitextfield ios reactive-cocoa

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

如何将AVAudioEngine连接到Lightning Port音频输入?

我想把我的电吉他连接到我的应用程序.我有硬件(Line6 Sonic Port)将吉他的音频传递到我的iPhone.我已经想出如何将音频播放到我的耳机,但它的音频来自我的耳机麦克风,而不是闪电端口输入.如何以编程方式查找Lightning Port音频输入,而不是通过耳机麦克风获取音频?

这是我到目前为止所尝试的:

self.audioEngine = AVAudioEngine()

let input = self.audioEngine.inputNode
let mixer = self.audioEngine.mainMixerNode
let output = self.audioEngine.outputNode

self.audioEngine.inputNode.installTapOnBus(0, bufferSize: 128, format: input.inputFormatForBus(0)) { (buffer, time) -> Void in
    //
}

self.audioEngine.connect(input, to: mixer, format: input.inputFormatForBus(0))
self.audioEngine.connect(mixer, to: output, format: mixer.inputFormatForBus(0))

self.audioEngine.prepare()
self.audioEngine.startAndReturnError(nil)
Run Code Online (Sandbox Code Playgroud)

当我跑这个时,我听到了音频 - 但它来自我的耳机麦克风,而不是吉他.如何连接来自闪电端口的音频?

为了快速说明,这是我正在使用的硬件: Line6 Sonic Port

audio core-audio ios avaudioengine

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