2015-08-22 137 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