小编Geo*_*org的帖子

通过蓝牙将iPhone连接到Arduino

我希望能够让我的iPhone-App通过蓝牙与我的Arduino通信.我发现了一些支持以下协议的蓝牙防护:BCSP,DUN,LAN,GAP SDP,RFCOMM和L2CAP.从我在google搜索时发现的是,iPhone是否正在隐藏它的蓝牙堆栈?!?它是否正确?是否真的没有机会让我的iPhone与其他支持蓝牙的设备进行通信而不进行越狱(据我所知,如果我使用btstack,则需要这个设备:http://code.google.com/p/btstack/) ?

如果蓝牙真的不可能,你会建议实现通信的其他方式(期望WLAN)?我想要实现的是这样的:http://theiopage.blogspot.com/2011/08/yanis-android-wireless-eos-controller.html

谢谢你的任何提示!

iphone bluetooth arduino ios

18
推荐指数
3
解决办法
5万
查看次数

后备语言iOS(包含不完整的Localizable.strings文件)

我有一个本地化为16种语言的iOS项目.只有一些单词没有本地化(主要是那些进入更新并且本地化办公室没有及时交付的单词).对于我的钥匙,我使用英语措辞,因为如果翻译人员愿意,这也会改变.所以现在如果我没有语言的翻译,如果我回到我使用的密钥.但由于这个关键不是"人类可读的"或至少不是"人类阅读的乐趣",这是一个问题.

我做了一些研究,但无法找到解决我确切问题的方法.我有:

Localizable.strings in en.lproj
@"Key1" = @"Value 1"
@"Key2" = @"Value 2"

Localizable.strings in de.lproj
@"Key1" = @"Wert 1"
// Note that @"Key2" is missing here in my de.lproj

I would expect that if I make NSLocalizedString(@"Key2", ...)
and am running on a german phone, it falls back to the english
translation for this key as it exists...
Run Code Online (Sandbox Code Playgroud)

所以现在我只是将英文翻译复制到缺少的Localizable.strings文件中.但这是一个大黑客!而且使用英语单词作为键似乎对我来说是一个黑客!

有没有办法告诉我的应用程序,如果没有给定密钥的值,它应该使用fe english作为后备?我尝试添加基本本地化但这没有帮助...

非常感谢

localization nslocalizedstring ios

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

在Cocoa中的活动应用程序中获取当前选定的文本

我有一个状态菜单应用程序,可以使用系统范围的快捷方式启动.当应用程序处于活动状态时,如果我能够以某种方式获取当前正在运行的应用程序中选择的文本,那将会很棒.

例如,我在文本编辑器中输入内容,选择文本,点击我的全局快捷方式,我的应用程序出现,我现在想知道文本编辑器中的选定文本.

到目前为止我所拥有的是(如何通过Accessibility API获取当前所选文本的全局屏幕坐标的代码.)

AXUIElementRef systemWideElement = AXUIElementCreateSystemWide();
AXUIElementRef focussedElement = NULL;
AXError error = AXUIElementCopyAttributeValue(systemWideElement, kAXFocusedUIElementAttribute, (CFTypeRef *)&focussedElement);
if (error != kAXErrorSuccess) {
    NSLog(@"Could not get focussed element");
} else {
    AXValueRef selectedTextValue = NULL;
    AXError getSelectedTextError = AXUIElementCopyAttributeValue(focussedElement, kAXSelectedTextAttribute, (CFTypeRef *)&selectedTextValue);
    if (getSelectedTextError == kAXErrorSuccess) {

        selectedText = (__bridge NSString *)(selectedTextValue);
        NSLog(@"%@", selectedText);
    } else {
        NSLog(@"Could not get selected text");
    }
}
if (focussedElement != NULL) CFRelease(focussedElement);
CFRelease(systemWideElement);
Run Code Online (Sandbox Code Playgroud)

这里的问题是它不能与Safari和Mail等应用程序一起使用...

谢谢

macos service cocoa accessibility

15
推荐指数
1
解决办法
1512
查看次数

用属性字符串替换UITextViews文本

我有一个UITextView,当用户输入文本时,我想动态格式化文本.语法高亮......

为此,我想用UITextView...

一切正常,期待一个问题:我从文本视图中获取文本并从中NSAttributedString获取.我对这个属性字符串进行了一些编辑,并将其设置为textView.attributedText.

每次用户输入时都会发生这种情况.所以我必须记住selectedTextRange编辑之前的attributedText事情,然后将其设置回来,以便用户可以继续在他之前输入的地方打字.唯一的问题是,一旦文本足够长就需要滚动,UITextView如果我慢慢输入,现在将开始滚动到顶部.

以下是一些示例代码:

- (void)formatTextInTextView:(UITextView *)textView
{
  NSRange selectedRange = textView.selectedRange;
  NSString *text = textView.text;

  // This will give me an attributedString with the base text-style
  NSMutableAttributedString *attributedString = [self attributedStringFromString:text];

  NSError *error = nil;
  NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"#(\\w+)" options:0 error:&error];
  NSArray *matches = [regex matchesInString:text
                                    options:0
                                      range:NSMakeRange(0, text.length)];

  for (NSTextCheckingResult *match in matches)
  {
    NSRange matchRange = [match rangeAtIndex:0];
    [attributedString addAttribute:NSForegroundColorAttributeName
                             value:[UIColor …
Run Code Online (Sandbox Code Playgroud)

uitextview nsattributedstring core-text ios

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

如何指定AVAudioEngine Mic-Input的格式?

我想录制一些音频AVAudioEngine和用户麦克风.我已经有了一个工作样本,但是无法弄清楚如何指定我想要的输出格式...

我的要求是,我需要AVAudioPCMBuffer我现在说的话......

我是否需要添加一个可以进行转码的单独节点?我找不到关于那个问题的文档/样本......

在Audio-Stuff方面,我也是一个菜鸟.我知道我想要NSData包含PCM-16bit,最大采样率为16000(8000会更好)

这是我的工作样本:

private var audioEngine = AVAudioEngine()

func startRecording() {

  let format = audioEngine.inputNode!.inputFormatForBus(bus)

  audioEngine.inputNode!.installTapOnBus(bus, bufferSize: 1024, format: format) { (buffer: AVAudioPCMBuffer, time:AVAudioTime) -> Void in

     let audioFormat = PCMBuffer.format
     print("\(audioFormat)")
  }

  audioEngine.prepare()
  do {
     try audioEngine.start()
  } catch { /* Imagine some super awesome error handling here */ }
}
Run Code Online (Sandbox Code Playgroud)

如果我改变格式让'说'

let format = AVAudioFormat(commonFormat: AVAudioCommonFormat.PCMFormatInt16, sampleRate: 8000.0, channels: 1, interleaved: false)
Run Code Online (Sandbox Code Playgroud)

然后如果会产生一个错误,说样本速率需要与hwInput相同...

很感谢任何形式的帮助!!!

编辑:我刚刚发现,AVAudioConverter但我需要兼容iOS8 ...

core-audio avfoundation ios avaudioengine

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

在Android 3.0中更改EditText光标的颜色

我必须在我的应用程序中使用带有白色背景的EditText.我在我的theme.xml文件中这样做了

<style name="myEditText" parent="@android:style/Widget.EditText">
  <item name="android:background">#ffffffff</item>
  <item name="android:textColor">#ff000000</item>
</style>
Run Code Online (Sandbox Code Playgroud)

现在的问题是光标仍然是白色,因此不可见.我做了一些谷歌搜索,并在StackOverflow上找到了这个问题: 设置EditText光标颜色

它的方式是android:textCursorDrawable关键.但是这个密钥确实只能用于3.2目标.但我们的客户想要3.0目标,我找不到任何其他解决方案......

有什么办法可以用3.0作为目标来改变闪烁光标的颜色吗?

谢谢你的帮助:)

android cursor android-edittext

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

获取Android软键盘高度_without_"adjustResize"

我在两个片段之间有一个动画.第二个片段将调出一个键盘.由于键盘将覆盖屏幕的某些部分,我手动需要在那里调整间隔视图以调整我的视图.使用android:windowSoftInputMode="adjustResize"将导致我的过渡动画变得超级滞后.使用adjustNothing在另一方面会使其光滑.

那么有没有办法获得键盘高度而不使用adjustResize

编辑: 我的问题是不同的fe 是否有任何方式在Android中获取设备的虚拟键盘的高度,因为我无法添加adjustResize

android android-manifest android-layout android-activity

8
推荐指数
0
解决办法
2012
查看次数

在后台使用AVSpeechSynthesizer而不停止fe音乐应用程序

我想知道如何正确地让我的iPhone说一句话,而我的应用程序在后台,但然后回到以前播放的任何内容.

我的问题与后台模式中的AVSpeechSynthesizer非常相似,但又有一点不同,我希望能够在后台"说些什么",不必停止正在播放的音乐.因此,当我AVSpeechSynthesizer说话时,音乐应该暂停(或者声音稍微不大)但是应该恢复.即使我的应用程序目前处于后台.

我想要存档的是在我的健身应用程序中进行GPS跟踪时跟踪统计的语音摘要.很有可能你正在听音乐很高,而且我不想打扰用户......

ios avspeechsynthesizer

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

根据设备是Android平板电脑还是手机,使用不同的主题

我想知道如何根据设备是平板电脑还是手机来改变活动的主题.我有一个具有@android:style/Theme.Black.NoTitleBar主题的设置活动.在平板电脑上,我喜欢这个活动的主题@android:style/Theme.Dialog

我在Manifest.xml文件中选择了活动的主题,但是我可以看到这个清单文件没有平板电脑版本?

如何更改此活动的主题?我也可以更改其他一些活动的主题以隐藏操作栏.

android

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

在MKMapView上绘制网格

我想在我的地图中绘制一个网格,表示某个缩放级别的图块大小.例如,我想在我的mapview上有一个网格,显示缩放级别10的轮廓.所以这个瓷砖的位置大纲.无论mapview本身是否处于缩放级别5或15,它都应显示该图块放置位置的轮廓.

我遇到的问题是如何计算代表每个可见"瓦片"的正确矩形.

任何帮助都非常感谢!

或者也许以下问题的答案会有所帮助:

如何将MKMapRect转换为MKTileOverlayPath?

iphone mapkit mkmapview ios

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