2015-08-22 100 views
0

当我将我的版本设置为发布配置方案时,我的应用程序出现问题。应用程序使用的音效之一在调试配置中可以很好地发挥作用,但在发布配置中不起作用。我怎样才能从这个“模式”的应用获得反馈?在调试配置中,您显然可以使用NSLog或设置断点。有任何想法吗?Xcode发布配置测试

编辑

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

下面是加载文件的代码。只有前几行很重要。该NSString *audioInfoPList是零为initSfx:而不是`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

AudioInfo.plist

回答

1

已解决。似乎在名称中有一个空格的项目包中搜索文件时,它并不总是找到该文件。我重命名我的项目没有空格,它工作正常。有人知道为什么会发生这种情况吗?

0

您可以通过NSLog发现问题了。

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

也许问题是文件路径问题。您可以安慰出效果文件路径来检查它。

此外,调试配置和发布配置是构建配置选项,它不能停止您的调试器连接器。调试器正在工作由您的开发人员证书决定。 (我假设你已经配置了Adhoc或Appstore证书)

我希望这对你有用。

+0

感谢您的快速回复!是的,我肯定有某种文件路径问题。 ''methodA:'''classA'中打开plist文件没有问题,但是来自同一个类的'methodB:'不打开它。它返回nil。这太奇怪了。当我在调试配置中运行它时很好,但是发布配置无法正常工作。你说'也许问题是文件路径问题。你可以调出效果文件路径来检查它。“你是什么意思? – 02fentym

+0

使用''NSLog''来检查问题。打印路径(检查路径)并打印文件对象(检查无)。您可以通过设备控制台(窗口 - >设备)查看日志。不同的构建模型会创建不同的应用文件路径。也许你的文件路径是绝对路径(不确定)。发布您的加载文件代码可以帮助定位问题。 – Startry

+0

是的,你是对的,控制台没有问题。没有理由为什么plist会加载一种方法,而不是另一种。我检查了拼写错误......这很混乱。 – 02fentym