我在Unity建立了我的第一个游戏,而且我几乎完成了它。我想在Facebook,Twitter,E-mail等多种社交平台上分享我的游戏截图。但是我无法做到这一点。我不想使用任何插件。
我想这样做
任何帮助都会有所帮助。
答案 0 :(得分:1)
由于您在评论中提到可以选择插件选项,这是我正在使用的插件:https://github.com/ChrisMaire/unity-native-sharing
如果您从.unitypackage文件导入资产,请注意,请务必使用master中的最新版本替换Assets / Plugins / iOS /中的导入后文件。最新提交修复了iPad上的崩溃,但它尚未包含在.unitypackage中。
答案 1 :(得分:0)
非常简单。在您的C#代码中,为您的本机代码添加DllImport
并创建一个简单的函数,该函数接收图像路径和文本消息。
然后在你的Assets / Plugins / iOS /中添加一个类,例如:" ShareHandler.mm"
在该类中,有一个可以调用的函数,它接受路径和文本。将路径转换为图像,如下所示:
NSString *imagePath = [NSString stringWithUTF8String:path];
UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
在此处创建要发布的项目的NSArray:
NSArray *postItems = @[image, message];
然后添加:
UIActivityViewController *activityVc = [[UIActivityViewController alloc]initWithActivityItems:postItems applicationActivities:nil];
if ( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad && [activityVc respondsToSelector:@selector(popoverPresentationController)] ) {
UIPopoverController *popup = [[UIPopoverController alloc] initWithContentViewController:activityVc];
[popup presentPopoverFromRect:
CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/4, 0, 0)
inView:[UIApplication sharedApplication].keyWindow.rootViewController.view
permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
} else {
[[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:activityVc animated:YES completion:nil];
}
之后,从extern" C"中调用此函数。课程的一部分:
extern "C"{
void shareImageWithTextOnIOS(const char * path, const char * message){
ImageShareForiOS *vc = [[ImageShareForiOS alloc] init];
[vc shareMethod:path Message:message];
}
这对我来说很好。希望这会有所帮助。
请阅读有关如何创建Unity iOS插件的Unity iOS插件文档。非常有用! https://docs.unity3d.com/Manual/PluginsForIOS.html