更新日期:2025-04-08之前接入旧版本的游戏如何快速迭代支持IPA出包
注意:SMPCQuickSDK.framework仍为静态库设置为Do Not Embed,不需要也不能设置为Embed & Sign,如果带Unityframework动态库,SMPCQuickSDK.framework仅关联到
Unityframework即可
2. 将原工程的libSMPCQuickChannel.a 文件移除,添加QuickChannel.framework 动态库文件并设置为Embed & Sign
如果带Unityframework动态库,QuickChannel.framework同时关联到Unityframework和Unity-iPhone, Unityframework不需要设置为 Embed & Sign,
Unity-iPhone必须设置为 Embed & Sign
3. 检查target->Build Setting - Runpath Search Paths是否包含@executable_path/Frameworks如果没有请添加;如果有请跳过此步骤执行下一步骤
4. AppDelegate事件调用 (必接)
说明:对能够使用OC接口的开发者这些回调应该比较容易添加,为了减轻大部分开发者负担,Unity3D和Cocos2d-x的游戏不用接入下面事件调用的代码,打包工具将会自动添加。打包工具在Unity3d和cocos2d-x默认系统生命周期delegate文件中添加如下代码,进行并不严格的排重,如果开发者修改了默认的delegate文件将导致添加失败,请自行在修改后的delegate文件中添加
如果使用IPA出包,以下代码打包工具无法自动添加,请开发人员务必添加到母包工程系统代理类里面,通常情况下:
原生Objective-C工程在AppDelegate.m对应系统代理回调方法中添加以下代码
Unity工程在UnityAppController.mm对应系统代理回调方法中添加以下代码
Cocos2d工程在AppController.mm对应系统代理回调方法中添加以下代码
如果开发者修改了或者自定义了默认的系统delegate文件,请在修改后或者自定义的delegate文件中添加
- (void)applicationWillResignActive:(UIApplication *)application { [[SMPCQuickSDK defaultInstance] applicationWillResignActive:application]; } - (void) applicationDidEnterBackground:(UIApplication *)application { [[SMPCQuickSDK defaultInstance] applicationDidEnterBackground:application]; } - (void) applicationWillEnterForeground:(UIApplication *)application { [[SMPCQuickSDK defaultInstance] applicationWillEnterForeground:application]; } - (void) applicationDidBecomeActive:(UIApplication *)application { [[SMPCQuickSDK defaultInstance] applicationDidBecomeActive:application]; } - (void) applicationWillTerminate:(UIApplication *)application { [[SMPCQuickSDK defaultInstance] applicationWillTerminate:application]; } - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { [[SMPCQuickSDK defaultInstance] application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; } - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error { [[SMPCQuickSDK defaultInstance] application:application didFailToRegisterForRemoteNotificationsWithError:error]; } - (void)application:(UIApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo{ [[SMPCQuickSDK defaultInstance] application:application didReceiveRemoteNotification:userInfo]; } -(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(nullable UIWindow *)window { [[SMPCQuickSDK defaultInstance] application:application supportedInterfaceOrientationsForWindow:window]; return UIInterfaceOrientationMaskAll; } - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{ [[SMPCQuickSDK defaultInstance] openURL:url application:application]; return YES; } - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ [[SMPCQuickSDK defaultInstance] openURL:url sourceApplication:sourceApplication application:application annotation:annotation]; return YES; } - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary*)options{ [[SMPCQuickSDK defaultInstance] openURL:url application:app options:options]; return YES; }
5. 母包测试通过后,通过母包工程导出ipa包,使用3.1.3及以上版本打包工具,选择ipa母包出各渠道包
如何导出ipa母包可参考文档:如何导出iOS的ipa母包
李先生:13880511661
QQ:48157910
赵先生:15390049857
QQ:1077535763
孙女士:13551010407
QQ:1799614139
QQ群:698731538