我希望能够让我的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
谢谢你的任何提示!
我有一个本地化为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作为后备?我尝试添加基本本地化但这没有帮助...
非常感谢
我有一个状态菜单应用程序,可以使用系统范围的快捷方式启动.当应用程序处于活动状态时,如果我能够以某种方式获取当前正在运行的应用程序中选择的文本,那将会很棒.
例如,我在文本编辑器中输入内容,选择文本,点击我的全局快捷方式,我的应用程序出现,我现在想知道文本编辑器中的选定文本.
到目前为止我所拥有的是(如何通过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等应用程序一起使用...
谢谢
我有一个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) 我想录制一些音频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 ...
我必须在我的应用程序中使用带有白色背景的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:windowSoftInputMode="adjustResize"将导致我的过渡动画变得超级滞后.使用adjustNothing在另一方面会使其光滑.
那么有没有办法获得键盘高度而不使用adjustResize?
编辑:
我的问题是不同的fe 是否有任何方式在Android中获取设备的虚拟键盘的高度,因为我无法添加adjustResize
我想知道如何正确地让我的iPhone说一句话,而我的应用程序在后台,但然后回到以前播放的任何内容.
我的问题与后台模式中的AVSpeechSynthesizer非常相似,但又有一点不同,我希望能够在后台"说些什么",而不必停止正在播放的音乐.因此,当我AVSpeechSynthesizer说话时,音乐应该暂停(或者声音稍微不大)但是应该恢复.即使我的应用程序目前处于后台.
我想要存档的是在我的健身应用程序中进行GPS跟踪时跟踪统计的语音摘要.很有可能你正在听音乐很高,而且我不想打扰用户......
我想知道如何根据设备是平板电脑还是手机来改变活动的主题.我有一个具有@android:style/Theme.Black.NoTitleBar主题的设置活动.在平板电脑上,我喜欢这个活动的主题@android:style/Theme.Dialog
我在Manifest.xml文件中选择了活动的主题,但是我可以看到这个清单文件没有平板电脑版本?
如何更改此活动的主题?我也可以更改其他一些活动的主题以隐藏操作栏.
我想在我的地图中绘制一个网格,表示某个缩放级别的图块大小.例如,我想在我的mapview上有一个网格,显示缩放级别10的轮廓.所以这个瓷砖的位置大纲.无论mapview本身是否处于缩放级别5或15,它都应显示该图块放置位置的轮廓.
我遇到的问题是如何计算代表每个可见"瓦片"的正确矩形.
任何帮助都非常感谢!
或者也许以下问题的答案会有所帮助:
如何将MKMapRect转换为MKTileOverlayPath?
ios ×6
android ×3
iphone ×2
arduino ×1
avfoundation ×1
bluetooth ×1
cocoa ×1
core-audio ×1
core-text ×1
cursor ×1
localization ×1
macos ×1
mapkit ×1
mkmapview ×1
service ×1
uitextview ×1