iOS 7警报视图自动触发

时间:2014-03-28 19:34:00

标签: ios7 uialertview gimbal

我对iOS编程很新,并且还在学习很多东西。我希望在某个屏幕上自动弹出警报视图。基本上我使用新的qualquamm Gimbal beacons作为应用程序。此代码在首次找到信标时触发日志:

// FYXVisitDelegate protocol
- (void)didArrive:(FYXVisit *)visit;
{
    // this will be invoked when an authorized transmitter is sighted for the first time
    NSLog(@"I arrived at a Gimbal Beacon!!! %@", visit.transmitter.name);


}

我想要做的是在第一次发现日志说的只是用于测试的时候弹出或警告这个触发器。我想提醒警报,但听说这在iOS 7中是不可能的,所以如果有任何关于弹出的建议我也很乐意听到。

这就是我没有运气的东西(尽管日志仍然被触发):

- (void)didArrive:(FYXVisit *)visit;
{
    // this will be invoked when an authorized transmitter is sighted for the first time
    NSLog(@"I arrived at a Gimbal Beacon!!! %@", visit.transmitter.name);

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome" message:@"%@" delegate:nil cancelButtonTitle:@"Close" otherButtonTitles:@"View", visit.transmitter.name, nil];

    [alert show];
}

1 个答案:

答案 0 :(得分:0)

问题可能是你的消息字符串分配,你正在使用格式字符串@"%@"但你错过了对stringWithFormat的调用:

旧代码:(查看消息参数)

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome" message:@"%@" delegate:nil cancelButtonTitle:@"Close" otherButtonTitles:@"View", visit.transmitter.name, nil];

新代码:(注意[NSString stringWithFormat]调用)

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome" message:[NSString stringWithFormat:@"%@",  visit.transmitter.name] delegate:nil cancelButtonTitle:@"Close" otherButtonTitles:@"View",  visit.transmitter.name, nil];

旧代码还分配了一个alertView按钮,以发送者的名字命名。我在新代码中保留了这个,但删除了" visit.transmitter.name"来自otherButtonTitles:参数,如果你不想要它。

此外,如果您在访问过程中正在查找更新,请使用此FYXVisitManager委托方法:

  • (void)receivedSighting:(FYXVisit *)访问updateTime:(NSDate *)updateTime RSSI:(NSNumber *)RSSI;