我有什麼應該是一個簡單的代碼,對於我來說是奇怪的失敗。Unity/Objective-C:將char *轉換爲NSString時遇到的麻煩
void MediaShare(char* text, char* furl) {
NSString *status = [NSString stringWithUTF8String: text];
NSString *media = [NSString stringWithUTF8String: furl];
[[SocialShare sharedInstance] mediaShare:status media:media];
文本只是Twitter共享文本的一行,而furl只是一個文件位置字符串。我得到了一個崩潰,通過了這個函數,這個函數可能會導致錯誤的數據通過。在這個函數的頭部放置一個斷點產生以下各項
Image of Xcode variable monitor
這兩個值看起來很好,但不知道是否只包含的第一個字符的*值是一個問題。
無論如何,跳轉到最後,狀態和媒體似乎都轉換爲十六進制值。
任何想法?爲了給出完整的故事,這是一個Unity插件。我只是將Unity C#中的兩個字符串傳遞給此函數。 非常感謝。
在mediaShare:call之前設置一個斷點,看看你在狀態和媒體中得到了什麼。 – gnasher729