Unity 升級后再導(dǎo)入到原有的 Xcode 項(xiàng)目工程會報版本不匹配的錯誤,Replace 會直接把之前的庫、部分修改的代碼覆蓋掉,我們項(xiàng)目工程涉及到的主要有以下幾個點(diǎn),記錄一下:
-
info.plist增加幾個常用的key-value
<key>LSApplicationQueriesSchemes</key>
<array>
<string>weixin</string>
</array>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>是否允許此APP訪問你的媒體資料庫?</string>
-
SDK:
- 重新導(dǎo)入
AlipaySDKFramework及其依賴庫(Xcode 11要移除AlipaySDK里面i386和x86_64架構(gòu)) - 重新導(dǎo)入
wechat依賴庫 -
Wechat要在UnityAppController.mm里面注冊AppId(didFinishLaunchingWithOptions),并在handleOpenURLopenURL里面調(diào)用handleOpenURL回調(diào)
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
::printf("-> applicationDidFinishLaunching()\n");
...body...
[WechatApiManager registerApp];
return YES;
}
// UIApplicationOpenURLOptionsKey was added only in ios10 sdk, while we still support ios9 sdk
- (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary<NSString*, id>*)options
{
id sourceApplication = options[UIApplicationOpenURLOptionsSourceApplicationKey], annotation = options[UIApplicationOpenURLOptionsAnnotationKey];
NSMutableDictionary<NSString*, id>* notifData = [NSMutableDictionary dictionaryWithCapacity: 3];
if (url) notifData[@"url"] = url;
if (sourceApplication) notifData[@"sourceApplication"] = sourceApplication;
if (annotation) notifData[@"annotation"] = annotation;
AppController_SendNotificationWithArg(kUnityOnOpenURL, notifData);
return [WechatApiManager handleOpenURL:url];
//return YES;
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return [WechatApiManager handleOpenURL:url];
}
-
BitCode設(shè)置為No - 由于使用了
CocoaPod載入第三方插件,因此pod需要重新intsall一下,也很簡單,terminalcd到對應(yīng)的Pods文件夾所在路徑,重新pod install一下即可