我有一個運行同步算法的應用程序。調試和發佈之間的區別
當我以調試模式(在我的iPhone 5上)構建並運行它時,它一切正常。
但是,當我將它歸檔並上載到TestFlight,然後下載並安裝到同一個iPhone 5中時,部分同步無效。
它不會崩潰或任何事情,它只是不會運行該部分的同步。
愚蠢的是它是一個單獨的函數內沒有運行的代碼行。該函數中的其他所有內容都會運行。
我不知道從哪裏開始尋找這個。
編輯
與明道幫助我發現究竟爲什麼和代碼位沒有運行。
功能是...
- (void)uploadData
{
NSLog(@"pushing photos");
for (StoredImage *storedImage in self.recordArray) {
NSURL *url = [self urlForImageUpload:storedImage];
if (url == nil) {
continue;
}
ImageUploadOperation *uploader = [[OJFImageUploadOperation alloc] init];
uploader.image = storedImage.image;
uploader.url = url;
[self.recordQueue addOperation:uploader];
}
}
當我設置的優化級別爲「最快,最小」看來惹這個功能了的順序。
當它進入時,我可以看到數組中有一個對象,它進入循環。但是它完全跳過第一行NSURL *url = [self urlForImageUpload:storedImage];
並且結束。所以上傳永遠不會開始,它會移動到下一個項目上。
我唯一的想法是,如果調用在NSAssert方法中,那麼它將變成一個無操作。 – borrrden
您的應用程序是否有權執行此類操作? –
此時我沒有使用NSAssert。我只是添加了一些TestFlight檢查點,以確定哪些位未被運行。 – Fogmeister