This plugin generates a hierarchical view of the file structure within an unzipped IPA directory.
The tree
command (installable via brew
) lists out the files in a directory. The plugin executes this command on the unzipped IPA contents to provide a visual representation of the app's file structure, making it easy to understand the organization of resources, frameworks, and other components within the application bundle.
Below is an example output for an unzipped IPA file for the Authy app.
. ├── iTunesArtwork ├── iTunesMetadata.plist ├── META-INF │ ├── com.apple.FixedZipMetadata.bin │ └── com.apple.ZipMetadata.plist └── Payload └── Authy.app ├── _CodeSignature │ └── CodeResources ├── AccountDeletionViewController.nib ├── AccountGridViewController.nib ├── AccountInfoViewController.nib ├── AccountTileViewCell.nib ├── AccountViewCell.nib ├── AddAccountCollectionViewCell.nib ├── AORequestDetailController.nib ├── AORequestsController.nib ├── AppConfig.plist ├── AppIcon60x60@2x.png ├── AppIcon76x76@2x~ipad.png ├── approval-asset.png ├── AppStatusView.nib ├── Assets.car ├── auth-logo-backups.png ├── auth-logo-backups@2x.png ├── AuthenticatorAccountsViewController.nib ├── AuthenticatorProcessing.storyboardc │ ├── 8Cb-Ly-4SV-view-NLi-pb-YEh.nib │ ├── Ebg-pU-Kit-view-Qnl-bv-ELu.nib │ ├── Info.plist │ ├── L87-mG-uaO-view-k7f-qe-jIw.nib │ ├── LogoVC.nib │ ├── NickNameVC.nib │ └── RootVC.nib ├── AuthenticatorTileView.nib ├── Authy ├── authy-symbol.png ├── authy-symbol@2x.png ├── AuthyData_AuthyData.bundle │ ├── CoreData.momd │ │ ├── CoreData.mom │ │ └── VersionInfo.plist │ └── Info.plist ├── AuthyHitdb.momd │ ├── AuthyHitdb.mom │ └── VersionInfo.plist ├── back-arrow.png ├── back-arrow@2x.png ├── backups-icon.png ├── backups-icon@2x.png ├── badge-bluetooth-share.png ├── badge-conscious-share.png ├── badge-master-share.png ├── badge1-half.png ├── badge2-half.png ├── badge3-half.png ├── BottomDialog.nib ├── call-btn.png ├── call-btn@2x.png ├── CallCodeView.nib ├── camera-icon.png ├── camera-icon@2x.png ├── ChangeEmailViewController.nib ├── ChangePhoneViewController.nib ├── Countries.plist ├── CountryList.storyboardc │ ├── CountryListVC.nib │ ├── Info.plist │ └── ZVG-vZ-WPX-view-Dpi-Je-1WU.nib ├── cross.png ├── cross@2x.png ├── cross@2x~ipad.png ├── cross@3x.png ├── cross~ipad.png ├── DeviceInfoViewController.nib ├── devices_icon.png ├── devices_icon@2x.png ├── devices_icon@3x.png ├── DevicesViewController.nib ├── en.lproj │ ├── BackupKeySetup.strings │ ├── Dialogs.strings │ ├── Home.strings │ ├── InfoPlist.strings │ ├── Invalidations.strings │ ├── Localizable.strings │ ├── NewUser.strings │ ├── Presentation.strings │ ├── Registration.strings │ ├── UserVerificationSelector.strings │ └── VerificationProcess.strings ├── enter_cellphone_ipad.png ├── enter_cellphone.png ├── enter-email-ref.png ├── EnterKeyManuallyView.nib ├── es.lproj │ ├── BackupKeySetup.strings │ ├── Dialogs.strings │ ├── Home.strings │ ├── InfoPlist.strings │ ├── Invalidations.strings │ ├── Localizable.strings │ ├── NewUser.strings │ ├── Presentation.strings │ ├── Registration.strings │ ├── UserVerificationSelector.strings │ └── VerificationProcess.strings ├── failed-icon.png ├── failed-icon@2x.png ├── FeatureFlagTestTableViewCell.nib ├── FeatureFlagTestViewController.nib ├── Firebase_FirebaseABTesting.bundle │ ├── Info.plist │ └── PrivacyInfo.xcprivacy ├── Firebase_FirebaseCore.bundle │ ├── Info.plist │ └── PrivacyInfo.xcprivacy ├── Firebase_FirebaseCoreExtension.bundle │ ├── Info.plist │ └── PrivacyInfo.xcprivacy ├── Firebase_FirebaseCoreInternal.bundle │ ├── Info.plist │ └── PrivacyInfo.xcprivacy ├── Firebase_FirebaseCrashlytics.bundle │ ├── Info.plist │ └── PrivacyInfo.xcprivacy ├── Firebase_FirebaseInstallations.bundle │ ├── Info.plist │ └── PrivacyInfo.xcprivacy ├── Firebase_FirebaseRemoteConfig.bundle │ ├── Info.plist │ └── PrivacyInfo.xcprivacy ├── FloatingDialog.nib ├── Frameworks │ ├── AuthyBusiness.framework │ │ ├── _CodeSignature │ │ │ └── CodeResources │ │ ├── AuthyBusiness │ │ ├── Info.plist │ │ └── SC_Info │ │ ├── AuthyBusiness.supf │ │ ├── AuthyBusiness.supp │ │ └── AuthyBusiness.supx │ ├── AuthyData.framework │ │ ├── _CodeSignature │ │ │ └── CodeResources │ │ ├── AuthyData │ │ ├── Info.plist │ │ └── SC_Info │ │ ├── AuthyData.supf │ │ ├── AuthyData.supp │ │ └── AuthyData.supx │ ├── AWSCore.framework │ │ ├── _CodeSignature │ │ │ └── CodeResources │ │ ├── AWSCore │ │ ├── Info.plist │ │ ├── PrivacyInfo.xcprivacy │ │ ├── SC_Info │ │ │ ├── AWSCore.supf │ │ │ ├── AWSCore.supp │ │ │ └── AWSCore.supx │ │ └── strip-frameworks.sh │ ├── AWSKinesis.framework │ │ ├── _CodeSignature │ │ │ └── CodeResources │ │ ├── AWSKinesis │ │ ├── Info.plist │ │ ├── PrivacyInfo.xcprivacy │ │ └── SC_Info │ │ ├── AWSKinesis.supf │ │ ├── AWSKinesis.supp │ │ └── AWSKinesis.supx │ ├── FirebaseAnalytics.framework │ │ ├── _CodeSignature │ │ │ └── CodeResources │ │ ├── FirebaseAnalytics │ │ ├── Info.plist │ │ └── SC_Info │ │ ├── FirebaseAnalytics.supf │ │ ├── FirebaseAnalytics.supp │ │ └── FirebaseAnalytics.supx │ ├── GoogleAppMeasurement.framework │ │ ├── _CodeSignature │ │ │ └── CodeResources │ │ ├── GoogleAppMeasurement │ │ ├── Info.plist │ │ └── SC_Info │ │ ├── GoogleAppMeasurement.supf │ │ ├── GoogleAppMeasurement.supp │ │ └── GoogleAppMeasurement.supx │ └── GoogleAppMeasurementIdentitySupport.framework │ ├── _CodeSignature │ │ └── CodeResources │ ├── GoogleAppMeasurementIdentitySupport │ ├── Info.plist │ └── SC_Info │ ├── GoogleAppMeasurementIdentitySupport.supf │ ├── GoogleAppMeasurementIdentitySupport.supp │ └── GoogleAppMeasurementIdentitySupport.supx ├── GAAccountTypeSelectorController.nib ├── GASetupViewController.nib ├── GenericColorCollectionViewCell.nib ├── GenericConfigs.plist ├── GoogleDataTransport_GoogleDataTransport.bundle │ ├── Info.plist │ └── PrivacyInfo.xcprivacy ├── GoogleService-Info.plist ├── GoogleUtilities_GoogleUtilitiesPrivacy.bundle │ ├── Info.plist │ └── PrivacyInfo.xcprivacy ├── Info.plist ├── Inter-Black.ttf ├── Inter-Bold.ttf ├── Inter-ExtraBold.ttf ├── Inter-ExtraLight.ttf ├── Inter-Light.ttf ├── Inter-Medium.ttf ├── Inter-Regular.ttf ├── Inter-SemiBold.ttf ├── Inter-Thin.ttf ├── InternalWebViewController.nib ├── InvalidationsViewController.nib ├── LaunchScreen.nib ├── line.png ├── line@2x.png ├── MainWindow.nib ├── NavigationController.nib ├── NewDeviceRequestController.nib ├── NewUserViewController.nib ├── phone_icon.png ├── phone_icon@2x.png ├── phone_icon@3x.png ├── PkgInfo ├── PlugIns │ ├── AuthyPushNotificationService.appex │ │ ├── _CodeSignature │ │ │ └── CodeResources │ │ ├── AppConfig.plist │ │ ├── AuthyData_AuthyData.bundle │ │ │ ├── CoreData.momd │ │ │ │ ├── CoreData.mom │ │ │ │ └── VersionInfo.plist │ │ │ └── Info.plist │ │ ├── AuthyPushNotificationService │ │ ├── Info.plist │ │ ├── PrivacyInfo.xcprivacy │ │ └── SC_Info │ │ ├── AuthyPushNotificationService.supf │ │ ├── AuthyPushNotificationService.supp │ │ └── AuthyPushNotificationService.supx │ └── AuthyWidget.appex │ ├── _CodeSignature │ │ └── CodeResources │ ├── Assets.car │ ├── AuthyData_AuthyData.bundle │ │ ├── CoreData.momd │ │ │ ├── CoreData.mom │ │ │ └── VersionInfo.plist │ │ └── Info.plist │ ├── AuthyWidget │ ├── AuthyWidget.entitlements │ ├── Base.lproj │ │ └── MainInterface.storyboardc │ │ ├── Info.plist │ │ ├── M4Y-Lb-cyx-view-37K-Sx-OkR.nib │ │ └── UITableViewController-M4Y-Lb-cyx.nib │ ├── en.lproj │ │ ├── MainInterface.strings │ │ └── WidgetLocalizable.strings │ ├── es.lproj │ │ ├── MainInterface.strings │ │ └── WidgetLocalizable.strings │ ├── Info.plist │ ├── PrivacyInfo.xcprivacy │ ├── pt.lproj │ │ ├── MainInterface.strings │ │ └── WidgetLocalizable.strings │ ├── SC_Info │ │ ├── AuthyWidget.supf │ │ ├── AuthyWidget.supp │ │ └── AuthyWidget.supx │ └── WidgetAppConfig.plist ├── PreloadViewController.nib ├── PrivacyInfo.xcprivacy ├── ProtectionPinSettingsViewController.nib ├── ProtectionPinUnlockViewController.nib ├── pt.lproj │ ├── BackupKeySetup.strings │ ├── Dialogs.strings │ ├── Home.strings │ ├── InfoPlist.strings │ ├── Invalidations.strings │ ├── Localizable.strings │ ├── NewUser.strings │ ├── Presentation.strings │ ├── Registration.strings │ ├── UserVerificationSelector.strings │ └── VerificationProcess.strings ├── qr-image.png ├── qr-image@2x.png ├── qr-image@2x~ipad.png ├── qr-image@3x.png ├── qr-image~ipad.png ├── register-check-icon.png ├── register-check-icon@2x.png ├── register-check-icon@2x~ipad.png ├── register-check-icon~ipad.png ├── register-locked-icon.png ├── register-locked-icon@2x.png ├── register-locked-icon~ipad.png ├── register-locked-icon~ipad@2x.png ├── RegistrationViewController.nib ├── RemoteConfigDefaults.plist ├── RequestPinViewController.nib ├── RequestsSettingsTableViewController.nib ├── SC_Info │ ├── Authy.sinf │ ├── Authy.supf │ ├── Authy.supp │ ├── Authy.supx │ └── Manifest.plist ├── ScanCodeViewController.nib ├── Settings.bundle │ ├── en.lproj │ │ └── Root.strings │ └── Root.plist ├── ShowTransactionPayloadViewController.nib ├── sms_icon.png ├── sms_icon@2x.png ├── sms_icon@3x.png ├── sms-btn.png ├── sms-btn@2x.png ├── SplitSettingsTableViewCell.nib ├── TokenAccountsConfig.plist ├── TokenDetailViewController.nib ├── TwilioPasteFormTextField.nib ├── TwilioPasteToast.nib ├── UnlockAccounts.storyboardc │ ├── 4Rj-37-TKP-view-okJ-6T-UNA.nib │ ├── Info.plist │ └── UnlockAccountsVC.nib ├── UserVerificationSelectorViewController.nib ├── VerificationProcessViewController.nib └── Watch └── Authy Watch.app ├── _CodeSignature │ └── CodeResources ├── _WatchKitStub │ └── WK ├── Assets.car ├── Authy Watch ├── Base.lproj │ ├── Interface-notification.plist │ └── Interface.plist ├── en.lproj │ └── WatchLocalizable.strings ├── es.lproj │ └── WatchLocalizable.strings ├── Info.plist ├── PkgInfo ├── PlugIns │ └── Authy Watch Extension.appex │ ├── _CodeSignature │ │ └── CodeResources │ ├── Assets.car │ ├── Authy Watch Extension │ ├── AuthyData_AuthyData.bundle │ │ ├── CoreData.momd │ │ │ ├── CoreData.mom │ │ │ └── VersionInfo.plist │ │ └── Info.plist │ ├── en.lproj │ │ └── WatchLocalizable.strings │ ├── es.lproj │ │ └── WatchLocalizable.strings │ ├── Frameworks │ │ ├── AuthyBusiness.framework │ │ │ ├── _CodeSignature │ │ │ │ └── CodeResources │ │ │ ├── AuthyBusiness │ │ │ ├── Info.plist │ │ │ └── SC_Info │ │ │ ├── AuthyBusiness.supf │ │ │ ├── AuthyBusiness.supp │ │ │ └── AuthyBusiness.supx │ │ └── AuthyData.framework │ │ ├── _CodeSignature │ │ │ └── CodeResources │ │ ├── AuthyData │ │ ├── Info.plist │ │ └── SC_Info │ │ ├── AuthyData.supf │ │ ├── AuthyData.supp │ │ └── AuthyData.supx │ ├── Info.plist │ ├── pt.lproj │ │ └── WatchLocalizable.strings │ ├── PushNotificationPayload.apns │ └── SC_Info │ ├── Authy Watch Extension.supf │ ├── Authy Watch Extension.supp │ └── Authy Watch Extension.supx ├── PrivacyInfo.xcprivacy └── pt.lproj └── WatchLocalizable.strings 88 directories, 319 files