0

我正在 iPhone 上开发一个录音机应用程序。为了使用外部 USB 麦克风测试我的应用程序,我需要从 Mac 上拔下 iPhone,以便连接麦克风。

我的问题是,一旦 iPhone 不再连接到 Mac,我就无法调试我的 iPhone 应用程序,也无法查看控制台输出。有没有办法通过 USB 电缆以外的其他介质连接调试器,例如网络或蓝牙?

我读过,在越狱你的 iPhone 后,可以安装 ssh,使用 ssh 连接到 iPhone,然后跟踪 syslog。如果不需要越狱手机,我会立即使用这个解决方案。我不想越狱我想测试我的应用程序的每部手机。

任何用于查看日志输出的非标准但可靠的解决方案也值得赞赏。例如,我目前在 iPhone 上使用快速编写的 HTTP 服务器,然后使用 Mac 上的浏览​​器或 telnet 连接到 iPhone 并查看控制台输出。

4

4 回答 4

2

I've made library DVFloatingWindow, that can be used to view the console output directly in application. You just have to use DVLog instead of NSLog:

DVLog(@"Some message %@", parameters);

Also you can view several logs by creating separate tab for each of them. There's ability to send all logs via email with button press.

于 2013-08-28T12:44:38.690 回答
2

如果您正在寻求实时调试 + 您拥有 iPhone 4,4S 或更旧的 iPad(30 针连接器),也许这可能是您的答案。使用此附件,您应该能够连接到您的 mac (XCODE) + 到您的外部附件

http://www.cablejive.com/products/dockStubz.html

于 2014-01-08T16:21:17.337 回答
1

您可以将调试日志写入文件,测试后您可以看到它们。

@interface LogFile : NSObject
+ (void)WriteLogWithString:(NSString *)log;

@end

这是实现文件

@implementation LogFile


+ (NSString*)CurrentSystemTime {
    return [[NSDate date] description];
}

+(NSString*)getDocumentsPath
{
    NSString *path  = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    return path;
}

+ (NSString*)getLogFilePath
{
    NSString *loggingFilePath = nil;

    loggingFilePath = [[self getDocumentsPath] stringByAppendingPathComponent:@"/MYLogFile.txt"];
    return loggingFilePath;
}


+ (void)WriteLogWithString:(NSString *)log
{

        if(log != nil){

            NSString *locationFilePath = [self getLogFilePath];

           NSString *str = [NSString stringWithFormat:@"%@  %s [Line %d]: %@", [self CurrentSystemTime],__PRETTY_FUNCTION__,__LINE__,log];            
            FILE *fp = fopen([locationFilePath UTF8String], "a");

            fprintf(fp,"%s\n", [str UTF8String]);

            fclose(fp);
        }

}

@end

现在你必须像这样调用方法

 [LogFile WriteLogWithString:@"sachin thakur"];
于 2013-07-23T14:54:16.423 回答
1

当我使用 MFi 时,我有一个 Apple 提供的加密狗,它允许 iPhone 同时连接到计算机和配件。

您还可以通过设备下设备选项卡中的 Xcode 管理器查看控制台打印输出。

于 2013-07-23T16:56:05.883 回答