2013-11-01 50 views
2

我們正在研究從Spotify獲取Feed的項目。我們已經集成了Spotify庫。由於應用程序發佈崩潰問題,該應用程序因MFI批准流程而被拒絕。我們被困在這裏。它非常緊急,我們感謝一些快速的幫助。由於Spotify問題,應用程序在啓動時崩潰

當應用程序啓動時,我們正在收到應用程序崩潰錯誤。我們正在調用一種方法,這可能是墜機的原因,但我們不確定。

- (void)clearKeychain { 
    for(NSString *serviceName in @[@"rdio",@"spotify",@"spotifyUsername",@"muzik"]) { 
    DDLogVerbose(@"removing keychain entry for service = %@", serviceName); 
    [MZUserManager removeTokenForService:serviceName]; 
    } 

MZSpotifyService *spotify = (MZSpotifyService*)[[MZDataManager sharedManager] serviceWithName:[MZSpotifyService shortName]]; 
    [spotify.sessionManager logout]; 

    [MZRdioService rdio].delegate = nil; 
    [[MZRdioService rdio] logout]; 
} 

--------------------------------- 

- (MZBaseService *)serviceWithName:(NSString *)serviceName 
{ 
    NSLog(@"active services : \n %@",_activeServices); 
    return _activeServices[serviceName]; 
} 

--------------------------------------- 

- (void)logout { 
    [[SPSession sharedSession] logout:^{ 
    DDLogVerbose(@"logged out from spotify"); 
    }]; 
} 

以下是在原木

2013-10-31 15:43:54 -0700 muzik[297] <Warning> *** Assertion failure in NSString* base::deviceIdFromKeychain()(), /Users/spotify-buildagent/buildAgent/work/1e0ce8a77adfb2dc/client/base/_apple/_ios/os_ios.mm:287 
2013-10-31 15:43:54 -0700 muzik[297] <Error> *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Keychain error when fetching device ID, nonrecoverable' 
*** First throw call stack: 
(0x2e265e8b 0x385ca6c7 0x2e265d5d 0x2ec0e29b 0x2ea90f 0x2eaee5 0x2e7bb3 0x1a618d 0x1a545d 0x2e230f55 0x2e2302cf 0x2e22ebd5 0x2e199541 0x2e1dd1ab 0x1a55a1 0x2ec49dc7 0x38be0c5d 0x38be0bcf 0x38bdecd0) 

詳細日誌uploaded here(跳傘)

全崩潰日誌由MFI

Date/Time:   2013-10-31 15:43:54.065 -0700 
OS Version:   iOS 7.0.2 (11A501) 
UDID:    41ab058a88eb7c1c3976828019bdfa0bd5edae22 
Report Version:  104 

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 
Triggered by Thread: 7 

Filtered syslog: 
2013-10-31 15:43:52 -0700 muzik[297] <Warning> Flurry: Starting session on Agent Version [Flurry_iOS_120_4.2.4] 
2013-10-31 15:43:53 -0700 muzik[297] <Error> SecOSStatusWith error:[-34018] The operation couldn’t be completed. (com.apple.security.osstatus error -34018 - Remote error : The operation couldn‚Äôt be completed. (com.apple.security.osstatus error -34018 - client has neither application-identifier nor keychain-access-groups entitlements)) 
2013-10-31 15:43:53 -0700 muzik[297] <Error> SecOSStatusWith error:[-34018] The operation couldn’t be completed. (com.apple.security.osstatus error -34018 - Remote error : The operation couldn‚Äôt be completed. (com.apple.security.osstatus error -34018 - client has neither application-identifier nor keychain-access-groups entitlements)) 
2013-10-31 15:43:53 -0700 muzik[297] <Error> SecOSStatusWith error:[-34018] The operation couldn’t be completed. (com.apple.security.osstatus error -34018 - Remote error : The operation couldn‚Äôt be completed. (com.apple.security.osstatus error -34018 - client has neither application-identifier nor keychain-access-groups entitlements)) 
2013-10-31 15:43:53 -0700 muzik[297] <Error> SecOSStatusWith error:[-34018] The operation couldn’t be completed. (com.apple.security.osstatus error -34018 - Remote error : The operation couldn‚Äôt be completed. (com.apple.security.osstatus error -34018 - client has neither application-identifier nor keychain-access-groups entitlements)) 
2013-10-31 15:43:53 -0700 muzik[297] <Error> SecOSStatusWith error:[-34018] The operation couldn’t be completed. (com.apple.security.osstatus error -34018 - Remote error : The operation couldn‚Äôt be completed. (com.apple.security.osstatus error -34018 - client has neither application-identifier nor keychain-access-groups entitlements)) 
2013-10-31 15:43:53 -0700 muzik[297] <Error> SecOSStatusWith error:[-34018] The operation couldn’t be completed. (com.apple.security.osstatus error -34018 - Remote error : The operation couldn‚Äôt be completed. (com.apple.security.osstatus error -34018 - client has neither application-identifier nor keychain-access-groups entitlements)) 
2013-10-31 15:43:53 -0700 muzik[297] <Error> SecOSStatusWith error:[-34018] The operation couldn’t be completed. (com.apple.security.osstatus error -34018 - Remote error : The operation couldn‚Äôt be completed. (com.apple.security.osstatus error -34018 - client has neither application-identifier nor keychain-access-groups entitlements)) 
2013-10-31 15:43:54 -0700 muzik[297] <Error> SecOSStatusWith error:[-34018] The operation couldn’t be completed. (com.apple.security.osstatus error -34018 - Remote error : The operation couldn‚Äôt be completed. (com.apple.security.osstatus error -34018 - client has neither application-identifier nor keychain-access-groups entitlements)) 
2013-10-31 15:43:54 -0700 muzik[297] <Error> SecOSStatusWith error:[-34018] The operation couldn’t be completed. (com.apple.security.osstatus error -34018 - Remote error : The operation couldn‚Äôt be completed. (com.apple.security.osstatus error -34018 - client has neither application-identifier nor keychain-access-groups entitlements)) 
2013-10-31 15:43:54 -0700 muzik[297] <Warning> *** Assertion failure in NSString* base::deviceIdFromKeychain()(), /Users/spotify-buildagent/buildAgent/work/1e0ce8a77adfb2dc/client/base/_apple/_ios/os_ios.mm:287 
2013-10-31 15:43:54 -0700 muzik[297] <Error> *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Keychain error when fetching device ID, nonrecoverable' 
*** First throw call stack: 
(0x2e265e8b 0x385ca6c7 0x2e265d5d 0x2ec0e29b 0x2ea90f 0x2eaee5 0x2e7bb3 0x1a618d 0x1a545d 0x2e230f55 0x2e2302cf 0x2e22ebd5 0x2e199541 0x2e1dd1ab 0x1a55a1 0x2ec49dc7 0x38be0c5d 0x38be0bcf 0x38bdecd0) 
+0

你有正確的appkey嗎? –

+0

是的,它是一個有效的密鑰,我們可以在大多數設備上運行應用程序,但這對小額信貸機構只是香港的位置造成了問題。我們試圖通過印度和美國地區的測試來運行該應用程序,並且它工作得很好。 – Achal

+0

是的,它是一個有效的密鑰,我們可以在大部分設備上運行應用程序,但這對於MFI只是香港的位置而言是個問題。我們試圖通過在印度和美國地區的testflight運行應用程序,它的工作非常好。 – Achal

回答

2

的進出口共享ortant錯誤在這裏:

該操作無法完成。 (OSStatus錯誤-34018 - 客戶端既沒有應用標識符也不鑰匙鏈訪問羣體的權利)

現在,至於爲什麼你觸發它,我不知道。嘗試使用谷歌搜索的具體錯誤 - 這不是特定於Spotify的。

但是,它看起來像是將Spotify憑證存儲在鑰匙串中,並且您可能會通過清除鑰匙串中的內容來觸發問題。不幸的是,「我們正在調用一種方法」並不是有用的信息。

現在,您不應該將Spotify憑證存儲在鑰匙串中。肯定不是用戶密碼 - 這是違反了ToS。 CocoaLibSpotify爲您提供可安全存儲在NSUserDefaults中的令牌。

您可以找到一個示例,說明如何將Spotify憑證正確存儲在庫附帶的「Empty CocoaLibSpotify」示例項目中。

此外,在將它們提交到App Store之前,請嘗試測試您的存檔版本。如果在審覈過程中發生這種情況,沒有理由不會在本地觸發。