-
实习离职
今天终于实习离职了,从5月8日到11月28日,在网易游戏实习了接近7个月。今天离职信里终结了下,在UniSDK,完整的东西大概做了下面这些,然后零零索索的给游戏处理各种iOS疑难杂症。
+ NtUniSdkFramework + 91 + PP + Tongbu + DownJoy + iTools + KuaiYong + NetEase + YiXin + Line + NtShareSdkFramework + YiXin + WeiXin + Weibo + NtUniSdk Xcode Plugin + U3D C# Wrapper for both Android and iOS NtUniSdk + Flash ANE for both Android and iOS NtUniSdk
-
推荐一个系列视频《Extra Credits》
最近中午的午休时间都在看《Extra Credits》,挺赞的,是一个讨论游戏行业相关话题的系列视频。在此推荐一下。
-
黑魔法之Xcode Plugin开发
Xcode 插件的黑科技
##1. 取得项目路径
先贴段代码:
NSString *workspacePath = @""; // to find current project path NSArray *workspaceWindowControllers = [NSClassFromString(@"IDEWorkspaceWindowController") valueForKey:@"workspaceWindowControllers"]; id workSpace; for (id controller in workspaceWindowControllers) { if ([[controller valueForKey:@"window"] isEqual:[NSApp keyWindow]]) { workSpace = [controller valueForKey:@"_workspace"]; } } if (workSpace) { workspacePath = [[workSpace valueForKey:@"representingFilePath"] valueForKey:@"_pathString"]; }
这段代码位于 BMPlugin.m 中,作用是取得当前 workspace,并读取其文件路径。
-
关于AppStore IAP的新旧Receipt
iOS7.0后,SKPayment的property transactionReceipt变成了DEPRECATED。
建议使用新接口来实现receipt的获取。
[[[NSBundle mainBundle] appStoreReceiptURL] dataWithContentsOfURL:receiptURL];
如果使用了IAP,Apple官方的建议是使用下列代码来处理:
NSData *receipt = nil; if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) { // Load resources for iOS 6.1 or earlier receipt = transaction.transactionReceipt; } else { NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL]; receipt = [NSData dataWithContentsOfURL:receiptURL]; }
上面的代码很容易以为,新旧接口取得的receipt格式是一致的。其实不然。
-
U3D iOS SDK Wrapper
很多游戏使用U3D引擎,比如《忍者必须死》、《影之刃》… 所以,iOS NtUniSDK需要一个U3D的wrapper。
U3D的C#可以调用外部C接口,故需要为NtUniSDK包装一个C语言层,下面给出简化的项目示例代码。