2

我正在尝试在我的时间之前在我的公司创建的应用程序上简单地更新一些文本。该应用程序是本机 iOS 应用程序,我不熟悉目标 C,因此我不确定如何搜索这些解决方案。

我有以下代码:

- (IBAction)PlayFirstVideo:(id)sender {
// allocate a reachability object
Reachability* reach = [Reachability reachabilityWithHostname:@"www.google.com"];

// set the blocks 
reach.reachableBlock = ^(Reachability*reach)
{
    dispatch_async(dispatch_get_main_queue(), ^{
    NSString *url = @"http://domainname.com/tvxcode/tomatobasilsequence/tomatobasil_all.m3u8";
    videoPlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:url]];
    [self.view addSubview:videoPlayer.view];
    videoPlayer.view.frame = CGRectMake(359, 0, 665, 375);  
    [videoPlayer play];
        });
};

reach.unreachableBlock = ^(Reachability*reach)
{
    dispatch_async(dispatch_get_main_queue(), ^{
    UIAlertView *noConnection = [[UIAlertView alloc] initWithTitle:@"Connection Required"
             message:@"An internet connection is required to view videos."
             delegate:nil
             cancelButtonTitle:@"OK"
             otherButtonTitles:nil];
    [noConnection show];
        });
};

// start the notifier which will cause the reachability object to retain itself!
[reach startNotifier];
}

这会产生三个错误:

  • 选择器“reachabilityWithHostname:”没有已知的类方法
  • 在“可达性 *”类型的对象上找不到属性“可达块”
  • 在“可达性 *”类型的对象上找不到属性“unreachableBlock”

我真正的问题显然是如何解决这个问题,但是我什至不确定这些是否是自定义类。它们似乎不符合以前开发人员的名称样式和习惯,所以如果是这种情况,这是因为我更新了 xCode 造成的问题吗?

4

3 回答 3

2

我有第一个答案

选择器“reachabilityWithHostname:”没有已知的类方法

在您的代码方法名称是 reachabilityWithHost名称

原始方法名称是 reachabilityWithHost Name

区分大小写

于 2015-05-23T16:43:35.683 回答
0

Reachability 类来自 Apple 示例项目。

http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html

您的错误最可能的解释是您在该文件的顶部没有“Reachability.h”的#import。你可能只有一个前向声明。

于 2013-05-20T21:53:15.503 回答
0

在https://github.com/tonymillion/Reachability有一个单独的可达性项目,这似乎是您正在使用的,并且与苹果版本不同。两者很可能是冲突的。

其他项目如 sharekit 包括reachability.h 和 .m 文件。您可能会检查包含中某处是否存在冲突版本,以及定义之间的差异。

于 2013-11-14T16:51:15.603 回答