【问题标题】:Xcode Release Configuration TestingXcode 发布配置测试
【发布时间】:2015-08-22 06:29:05
【问题描述】:

当我将构建设置为发布配置方案时,我的应用出现问题。该应用程序使用的其中一种音效在调试配置中可以正常播放,但在发布配置中则不行。在这种“模式”下,我如何从应用程序中获得反馈?在调试配置中,您显然可以使用NSLog 或设置断点。有什么想法吗?

编辑

总体问题是在调试配置中,plist 是在下面列出的两种方法中读取的。在发布配置中,plist 只能通过以下方法之一读取。

这是加载文件的代码。只有前几行很重要。 NSString *audioInfoPList 对于 initSfx: 是 nil,但对于 `initMusic 不是:

-(void) initMusic {
    _musicDict = [NSMutableDictionary dictionary];

    NSString *audioInfoPList = [[NSBundle mainBundle] pathForResource: @"AudioInfo" ofType: @"plist"];
    NSDictionary *audioInfoData = [NSDictionary dictionaryWithContentsOfFile:audioInfoPList];

    //more processing here
    ...
}


-(void) initSfx {
    _sfxDict = [NSMutableDictionary dictionary];

    NSString *audioInfoPList = [[NSBundle mainBundle] pathForResource: @"AudioInfo" ofType: @"plist"];
    NSDictionary *audioInfoData = [NSDictionary dictionaryWithContentsOfFile:audioInfoPList];

    //more processing here
    ...
}

这里是AudioInfo.plist

【问题讨论】:

    标签: objective-c xcode6 release


    【解决方案1】:

    已经解决了。似乎在名称中有空格的项目包中搜索文件时,它并不总是找到该文件。我重命名了没有空格的项目,它运行良好。有人知道为什么会这样吗?

    【讨论】:

      【解决方案2】:

      您也可以通过NSLog 找到问题。

      步骤: 1. 将您的设备连接到您的 Mac。 2. Xcode Window -> Devices -> 选择你的设备,然后你可以在这里看到所有的控制台登录。 (可能控制台被隐藏了,点击左下角图标使其展开)

      可能是文件路径问题。可以通过console出效果文件路径来查看。

      此外,Debug Configuration 和 Release Configuration 是构建配置选项,它们无法停止您的调试器连接器。调试器的工作由您的开发人员证书确定。 (我假设你已经配置了 Adhoc 或 Appstore 证书)

      我希望这对你有用。

      【讨论】:

      • 感谢您的快速回复!是的,我肯定有某种文件路径问题。 methodA:classA 中打开 plist 文件没有问题,但来自同一类的 methodB: 不会打开它。它返回零。太奇怪了。当我在调试配置中运行它时,它很好,但是发布配置不能正常工作。你说Maybe the problem is file path problem. You can console out the effect file path to check it.这是什么意思?
      • 使用NSLog 来检查问题。打印路径(检查路径)和打印文件对象(检查无)。您可以通过设备控制台(窗口 -> 设备)查看日志。不同的构建模型会创建不同的应用文件路径。也许您的文件路径是绝对路径(不确定)。发布您的加载文件代码可能有助于定位问题。
      • 是的,你是对的,控制台没有问题。没有理由为什么 plist 在一种方法中加载,而在另一种方法中则没有。我检查了拼写错误……这很令人困惑。
      • 转到项目“构建阶段”->“复制捆绑资源”,检查“复制捆绑资源”中的 AudioInfo.plist(如果您的工作区有多个项目,请检查每个项目)。如果文件在“复制捆绑资源”中,请尝试删除并重新添加 AudioInfo.plist。
      • 是的,我都试过了。请记住,我说的是一个项目和一个类,它具有两种尝试打开此 plist 文件的方法。一个成功,另一个不成功。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-14
      • 2011-04-27
      • 2012-12-11
      • 1970-01-01
      • 1970-01-01
      • 2011-01-02
      相关资源
      最近更新 更多