我错过了一些明显的东西,或者没有办法调试iOS应用程序,该应用程序使用通过30针底座连接的外部附件,而不使用桶装日志等.我希望能够使用诸如断点和仪器.
有没有办法远程调试,通过Wi-Fi,蓝牙?
注意:是的,我最近问过这个问题并将其删除,因为我认为我找到了答案..但答案只是乐器支持Wi-Fi ..而不是Xcode调试.所以问题仍然存在......
所以......:鉴于我找不到真正的运气,而且还没有人给我答案 - 我认为这是一个很大的脂肪NO.:(
让我想知道我们是否只是想要神奇地猜测出现错误的地方,或者通过在设备和配件之间来回连续移动来磨损我们的底座连接器时记录废弃物的一切?
是时候提交错误报告了.
UsbAccessory
在Android中关闭连接的正确方法是什么?似乎甚至在谷歌股票的例子中,如果我连接和配件,退出应用程序然后回到它,连接不会重新建立.
仔细观察,似乎打完电话后close()
上FileDescriptor
,也不会再次打开,并且"无法打开/ dev/usb_accessory"日志发出.不调用close()
是一个糟糕的选择,因为线程阻塞read()
将不会被释放.在物理断开/重新连接设备后,一切正常.
看起来非常令人惊讶的是,退出应用程序然后再次打开它的简单用例在参考应用程序中不起作用,如果不可行则更令人惊讶.
我正在使用Nexus S运行的Android 2.3.6版本.
我需要改变disclosureIndicatorView
配件的颜色UITableViewCell
.我认为有两种方法可以完成这项任务,但我无法弄清楚哪一种是最佳选择.所以这就是我认为我能做到的.
有一个属性UITableViewCell
- accessoryView
.所以我可以使用setAccessoryView:(UIView *)view
并传递视图作为UIImageView
持有我想要的图像.
我编写了一个实用程序类,它为我的单元格创建内容视图(像背景颜色,添加其他东西等等),然后将此内容视图添加到单元格中UITableViewDelegate
.另一种选择是绘制UIImage
覆盖实用程序类的drawRect
方法CustomContentView
.
执行选项1 - 我可以通过苹果方式完成工作.只要给他们观点,他们就会完成其余的工作.但我想UIView
在每一行中添加一个新对象可能会成为一个繁重的对象分配并降低帧速率.与UIImage
我的一个对象相比contentView
.我相信UIImage
比较轻UIView
.
请抛出一些轻松的人并帮我决定.
我一直在尝试实现这个工具栏,当顶部textField是firstResponder时,只启用'Next'按钮,当底部textField是firstResponder时,只启用'Previous'按钮.
它有点工作,但是发生的事情是我需要每次点击"上一个"/"下一个"按钮两次以启用/禁用相反的按钮.
我是否在响应者链中遗漏了这样的事情?
这是我的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.topText becomeFirstResponder];
}
- (UIToolbar *)keyboardToolBar {
UIToolbar *toolbar = [[UIToolbar alloc] init];
[toolbar setBarStyle:UIBarStyleBlackTranslucent];
[toolbar sizeToFit];
UISegmentedControl *segControl = [[UISegmentedControl alloc] initWithItems:@[@"Previous", @"Next"]];
[segControl setSegmentedControlStyle:UISegmentedControlStyleBar];
segControl.momentary = YES;
segControl.highlighted = YES;
[segControl addTarget:self action:@selector(changeRow:) forControlEvents:(UIControlEventValueChanged)];
[segControl setEnabled:NO forSegmentAtIndex:0];
UIBarButtonItem *nextButton = [[UIBarButtonItem alloc] initWithCustomView:segControl];
NSArray *itemsArray = @[nextButton];
[toolbar setItems:itemsArray];
return toolbar;
}
- (void)changeRow:(id)sender {
int idx = [sender selectedSegmentIndex];
if (idx == 1) {
[sender setEnabled:NO forSegmentAtIndex:1];
[sender …
Run Code Online (Sandbox Code Playgroud) 我有一个很大的问题.我正在尝试在每个UITableViewCell
中创建一个最喜欢的按钮UITableView
.这非常有效,我现在按下时会执行一个动作和选择器.
accessory = [UIButton buttonWithType:UIButtonTypeCustom];
[accessory setImage:[UIImage imageNamed:@"star.png"] forState:UIControlStateNormal];
accessory.frame = CGRectMake(0, 0, 15, 15);
accessory.userInteractionEnabled = YES;
[accessory addTarget:self action:@selector(didTapStar) forControlEvents:UIControlEventTouchUpInside];
cell.accessoryView = accessory;
Run Code Online (Sandbox Code Playgroud)
和选择器:
- (void) didTapStar {
UITableViewCell *newCell = [tableView cellForRowAtIndexPath:/* indexPath? */];
accessory = [UIButton buttonWithType:UIButtonTypeCustom];
[accessory setImage:[UIImage imageNamed:@"stared.png"] forState:UIControlStateNormal];
accessory.frame = CGRectMake(0, 0, 26, 26);
accessory.userInteractionEnabled = YES;
[accessory addTarget:self action:@selector(didTapStar) forControlEvents:UIControlEventTouchDown];
newCell.accessoryView = accessory;
}
Run Code Online (Sandbox Code Playgroud)
现在,问题在于:我想知道按下的配件属于哪一行.我怎样才能做到这一点?
谢谢 :)
我已经阅读了关于这个主题的多个问答,但似乎都没有,所以这是我的问题.
我创建了一个自定义的UITableViewCell,在故事板中,我要求有一个披露指示器附件.据说tintColor应该改变指示器的颜色,但经过大量研究后,我发现了以下内容:
我尝试使用selectedBackgroundView创建accessoryView,如下所示:
self.accessoryView = UIView()
Run Code Online (Sandbox Code Playgroud)
显然,它只是创建一个空白区域,原始的公开配件消失了.我真的很困惑这一切,无法找到影响细胞配件颜色的方法.任何帮助都会受到欢迎!
我正在使用EAWiFiUnconfiguredAccessoryBrowser来检测EAWiFiUnconfiguredAccessory.启动附件搜索的代码如下:
- (void)viewDidLoad {
[super viewDidLoad];
if (_accessories == nil) {
_accessories = [[NSMutableArray alloc] init];
}
if (_browser == nil) {
_browser = [[EAWiFiUnconfiguredAccessoryBrowser alloc] initWithDelegate:self queue:nil];
_browser.delegate = self;
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,它只在第一次加载View时才找到配件.如果我回到上一个视图,然后重新加载视图,它就找不到它们.
我试过了:
这是我得到的最新代码(与上面的代码一起参考):
- (void) viewWillAppear:(BOOL)animated{
NSLog(@"view will appear");
if (_accessories != nil) {
[_accessories removeAllObjects];
}
[self.tableView reloadData];
[self initializeBrowswerAndStartSearch];
}
- (void) initializeBrowswerAndStartSearch{
if (_browser != nil) {
[_browser stopSearchingForUnconfiguredAccessories];
}
[_browser startSearchingForUnconfiguredAccessoriesMatchingPredicate:nil];
}
- (void) viewWillDisappear:(BOOL)animated{
[_browser stopSearchingForUnconfiguredAccessories]; …
Run Code Online (Sandbox Code Playgroud) 我们为iPad/iPhone制造了一个新配件,它应该将命令传输到iPad.我们喜欢使用UART(通过某种名为Lingo的 Apple协议).我的研究表明,我只能使用USB(30PIN连接器)和自定义协议.
题:
我的主要猜测是UART命令和访问是iPhone OS保留的协议,不适用于Apps.某些UART命令还包括卷和音频重新路由等设置,所以我猜这是安全的.
我已经在网上研究了这个死机,当外部配件使用BT配对或插入底座连接器时,无法找到有关自动启动iphone应用程序的任何信息.
我们是一名MFi开发人员,配有BT配件和应用程序,我们希望在配对时启动.我们有Info.plist包含我们的协议和包含所有工作和通信的正确协议的设备.该应用程序适用于我们的BT设备,但我希望在配对时看到应用程序启动.
我之前已经看到过这种配件插入连接器,并且知道如何完成.
http://www.metacafe.com/watch/5772611/ces_2011_withings/
在视频中的3:15检查.
iPhone是否只具备停靠连接项目的能力以自动启动?
我知道在安装应用程序时,External Accessory框架会在iPhone上注册协议.当您连接BT(或连接器)设备并且没有连接设备协议的应用程序时,这就是iPhone/iPod知道将您带到苹果商店的方式.
我不明白为什么应用程序在配对时没有启动,我认为这将是一个没脑子.有人可以请谈谈这个话题.我找到的最好的是苹果文档:
能够与外部附件通信的应用程序应在其Info.plist文件中声明它们支持的协议.声明对特定协议的支持使系统知道您的应用程序可以在连接该附件时启动.如果没有应用程序支持连接的附件,系统可能会选择启动App Store并指出应用程序."
我无法理解"可以选择发射"的含义,这是否也意味着选择发射?请帮忙.
我有一个课程来管理来自和外部附件到iPad的消息.在init中我有以下代码:
- (id) init
{
self = [super init];
if (!self) return;
[[EAAccessoryManager sharedAccessoryManager] registerForLocalNotifications]; //we want to hear about accessories connecting and disconnecting
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(accessoryDidConnect:)
name:EAAccessoryDidConnectNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(accessoryDidDisconnect:)
name:EAAccessoryDidDisconnectNotification
object:nil];
...
}
Run Code Online (Sandbox Code Playgroud)
在dealloc我有
- (void) dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self name:EAAccessoryDidDisconnectNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:EAAccessoryDidConnectNotification object:nil];
[[EAAccessoryManager sharedAccessoryManager] unregisterForLocalNotifications];
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,当我将外部附件连接到iPad时,accessoryDidConnect:会触发一个accessoryDidDisconnect:随后是accessoryDidConnect:
我无法弄清楚为什么我会得到额外的连接和断开连接.有任何想法吗?