o
    Hi.                     @   st   d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm	Z	 dd Z
d	d
 Zdd Zdd Zdd ZdS )    )	b_project)oc_util)custom_pbxproj)custom_file)custom_replace)custom_utilc                  C   s   t jdkrd S tj} tj}d}d}| dkr|n|}| dkr|n|}t j dt j d}t|| t	| t
| t  t  t  t  t j dt j d}|d urb| dkrbt|d	| t|d
t_tdtj  d S )N
XXGPlayKitXXGPlayKitCNXXGPlayKitOS1/z.xcodeproj/project.pbxprojz!.bundle/xxpk_a_shineupon_map.json xxpk_startidxxpk_versionu   读取到的xxpk_version: )r   name_current_projectr   sdk_cn_or_osstartidpath_mix_projectr   delete_target_using_pbxprojprojectmodify_project_namer   delete_macro_contentdelete_folderremove_project_from_workspace"remove_framework_from_demo_projecthandle_middlewarestripr   replace_key_in_fileget_key_value_from_filesdk_versionprint)r   r   tmp_cntmp_osdel_target_nameprj_name	proj_pathshineupon_map_path r'   C/data/storage/obfuscation/tool/ObjectiveC/oc_custom/custom_start.pyinit   s2   


r)   c                  C   s   t j} t j}g }| dkr(|tj d |tj d |tj d nI| dkrq|tj d |tj d t jdkrh|tj d	 |tj d
 |tj d |tj d n	|tj d |D ]}t| qsd S )Nr   z/OSFrameworksz/OSResourcesz/XXGPlayKitOSDemo2z/CNFrameworksz/XXGPlayKitCNDemoFz/XXGPlayKitOSDemo/Podsz/XXGPlayKitOSDemo/podfilez/XXGPlayKitOSDemo/Podfile.lockz1/XXGPlayKitOSDemo/XXGPlayKitOSDemo-Pods.xcodeprojz,/XXGPlayKitOSDemo/XXGPlayKitOSDemo.xcodeproj)	r   r   sdk_optionsappendr   r   	need_podsr   delete_file_or_folder)r   r+   folders_to_deletefolder_pathr'   r'   r(   r   9   sB   







r   c                  C   s   t j d} tj}g }|dkr|d |d |d n|dkr=|d tjdkr8|d |d n|d |D ]}t| | q?d S )	Nz/XXGPlayKit.xcworkspacer   XXGPlayKitOSDemozXXGPlayKitOSDemo-PodsPodsr*   XXGPlayKitCNDemoF)r   r   r   r   r,   r-   r   r   )workspace_pathr   projects_to_removeproject_namer'   r'   r(   r   ^   s    





r   c                  C   sx  t j} t j}d}g }| dkrAtj d}d|vr|g d d|vr*|g d d|vr5|g d	 d
|vr@|g d nm| dkrtj d}t jdkrVtj d}d|vra|g d d|vrl|g d d|vrw|g d d|vr|g d d|vr|g d d|vr|g d d|vr|g d d|vr|g d |std  d S |D ]}td!|  zt	|| W n t
y } ztd"| d#|  W Y d }~qd }~ww |D ]P}|d$s|d%s|d&s|d'r8d(|v r8tj d(| }ztd)|  t| W q t
y7 } ztd*|  W Y d }~qd }~ww qqd S )+Nr   r   z</XXGPlayKitCNDemo/XXGPlayKitCNDemo.xcodeproj/project.pbxproj
ShanYanSDK)ShanYanzlibXXGShanYanMiddleware.azCNFrameworks/ShanYanBDASignalManager)	BDASignalzlibXXGBDASignalMiddleware.azCNFrameworks/BDASignalCSJ)r;   zlibXXGCSJMiddleware.azCNFrameworks/CSJzCNResources/CSJz&CNResources/BUAdTestMeasurement.bundlezCNResources/CSJAdSDK.bundleShareSDK)r<   zlibXXGShareSDKMiddleware.azCNFrameworks/ShareSDKzCNFrameworks/ShareSDK/TapTapz-CNFrameworks/ShareSDK/tapsdkcorecpp.frameworkz*CNFrameworks/ShareSDK/THEMISLite.frameworkzCNFrameworks/ShareSDK/WeChatSDKzCNResources/ShareSDKz&CNResources/ShareSDK/DYOpenCore.bundlez$CNResources/ShareSDK/ShareSDK.bundlez.CNResources/ShareSDK/ShareSDKConfigFile.bundlez&CNResources/ShareSDK/ShareSDKUI.bundlez5CNResources/ShareSDK/TencentOpenApi_IOS_Bundle.bundler*   z</XXGPlayKitOSDemo/XXGPlayKitOSDemo.xcodeproj/project.pbxprojTzA/XXGPlayKitOSDemo/XXGPlayKitOSDemo-Pods.xcodeproj/project.pbxproj	AppsFlyer)r=   zlibXXGAppFlyerMiddleware.azOSFrameworks/AppsFlyerz-OSFrameworks/AppsFlyer/AppsFlyerLib.frameworkFacebook)r>   zlibXXGFacebookMiddleware.azOSFrameworks/Facebookz,OSFrameworks/Facebook/FBSDKCoreKit.frameworkz-OSFrameworks/Facebook/FBSDKLoginKit.frameworkz-OSFrameworks/Facebook/FBSDKShareKit.frameworkFirebase)r?   zlibXXGFirebaseMiddleware.az$OSResources/GoogleService-Info.plistzOSFrameworks/Firebasez'OSFrameworks/Firebase/FirebaseAnalyticsz)OSFrameworks/Firebase/FirebaseCrashlyticsAdjust)r@   zlibXXGAdjustMiddleware.azOSFrameworks/Adjustz$OSFrameworks/Adjust/Adjust.frameworkVK)rA   zlibXXGVKMiddleware.az&OSResources/VKID-Core-Resources.bundlez!OSResources/VKID-Resources.bundlezOSFrameworks/VKzOSFrameworks/VK/VKSDK.frameworkAppLovin)rB   zlibXXGAppLovinMiddleware.azOSFrameworks/AppLovinz+OSFrameworks/AppLovin/AppLovinSDK.frameworkPoopo)rC   zlibXXGPoopoMiddleware.azOSResources/SSBundle.bundlezOSFrameworks/Poopoz)OSFrameworks/Poopo/JYouLoginKit.frameworkADP)rD   zlibXXGADPMiddleware.azOSFrameworks/ADPu   没有需要删除的框架u   正在处理框架组: u   处理框架组 u    时出错: zOSFrameworks/zOSResources/zCNFrameworks/zCNResources/r   u   尝试直接删除文件夹: u   删除文件夹失败: )r   r   r+   r   r   r,   r-   r    r   remove_files_from_project	Exception
startswithr   r.   )r   r+   demo_project_pathframework_groupsgroupeitemr0   r'   r'   r(   r   u   s   
:r   c                  C   s   t j} tj d}dddddddd	d
dddd}g }g }| D ]\}}|| v r.|| q || q t|t _td|  |D ]}t	
|| qBd S )NzB/XXGThirdMiddlewares/XXGThirdMiddlewares.xcodeproj/project.pbxprojXXGShanYanMiddlewareXXGBDASignalMiddlewareXXGCSJMiddlewareXXGShareSDKMiddlewareXXGAppFlyerMiddlewareXXGFacebookMiddlewareXXGFirebaseMiddlewareXXGAdjustMiddlewareXXGVKMiddlewareXXGAppLovinMiddlewareXXGPoopoMiddlewareXXGADPMiddleware)r7   r9   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   u$   保留的 Middleware 原始 target: )r   r+   r   r   itemsr,   listexported_lib_namesr    r   r   )r+   middleware_project_pathall_middlewaresmiddleware_delete_listmiddleware_keep_listsdk_keymw_namemiddleware_namer'   r'   r(   r     s8   
r   N)ObjectiveC.oc_functionr   r   
ObjectiveCr   ObjectiveC.oc_customr   r   r   r   r)   r   r   r   r   r'   r'   r'   r(   <module>   s    .% 