Skip to content

Fix commands like ipsw class-dump to work on older macOS versions #577

@rgoldberg

Description

@rgoldberg

What happened?

On macOS 12.7.6, commands like:

ipsw class-dump /System/Library/dyld/dyld_shared_cache_arm64e 'CommerceKit' --headers --output /tmp/CommerceKit_HDRS

output headers with incorrect symbol names. e.g., /tmp/CommerceKit_HDRS/CommerceKit/CKBag.h is:

//
//   Generated by https://github.com/blacktop/ipsw (Version: 3.1.549, BuildCommit: Homebrew)
//
//    - LC_BUILD_VERSION:  Platform: macOS, MinOS: 12.7, SDK: 12.7, Tools: [ld (756.90), ld (760)]
//    - LC_SOURCE_VERSION: 712.6.1.0.0
//
#ifndef CKBag_h
#define CKBag_h
@import Foundation;

#include "CKStoreClient.h"

@interface CKBag : NSObject

@property (readonly, nonatomic) CKStoreClient *storeClient;

/* class methods */
+ (id)itiveIntegerBuilder;
+ (id)ateLearningAnalytics17GroundTruthRecord;
+ (id)entifier;
+ (id)Array",R,C,N,V_strokeIdentifiers;
+ (id)s;

/* instance methods */
- (_Bool)CKDPRecordRetrieveChangesResponseRecordChange;
- (void)nURLRequestWrapperOperation;
- (id)rsonaPersistenceLayoutManager;
- (id)itiveIntegerBuilder;
- (id)ateLearningAnalytics17GroundTruthRecord;
- (id)BetweenRefreshes;
- (id)er",&,V_authenticationPluginManager;
- (id)_OSLogEventStoreTimeRef",R,N,V_oldestSignpost;
- (_Bool)rokeGroupType;
- (_Bool)T@"NSLocale",R,C,N,V_preferredLocale;
- (_Bool)edLocale;
- (id)ovider;
- (id)dentifierFromData:(id /* block */)data;
- (void)r:(id)r;
- (void)trokeIdentifier;

@end

#endif /* CKBag_h */

Please fix this command, and all other related commands, for as many latest versions of each macOS major version as possible.

How can we reproduce this?

Run the above command on macOS 12.7.6. Try it on some other macOS versions, too.

ipsw version

Version: 3.1.549, BuildCommit: Homebrew

Search

  • I did search for other open and closed issues before opening this

Code of Conduct

  • I agree to follow this project's Code of Conduct

Additional context

See #563

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingtriage

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions