我有什么应该是一个简单的代码,对于我来说是奇怪的失败。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