Skip to content

Instantly share code, notes, and snippets.

@StatusReport
Created April 23, 2018 10:47
Show Gist options
  • Save StatusReport/491d830e97373607f186f843bbe02121 to your computer and use it in GitHub Desktop.
Save StatusReport/491d830e97373607f186f843bbe02121 to your computer and use it in GitHub Desktop.
class_copyPropertyList returning multiple properties with the same name
#import <Foundation/Foundation.h>
#import <map>
#import <objc/runtime.h>
#import <set>
#import <string>
#import <vector>
struct property_info {
std::string name;
std::string attributes;
};
bool operator<(const property_info &a, const property_info &b) {
return (a.name < b.name) || (a.name == b.name && a.attributes < b.attributes);
}
static std::vector<property_info> get_class_properties(Class cls) {
unsigned count = 0;
objc_property_t *properties = class_copyPropertyList(cls, &count);
if (!properties) {
return {};
}
std::vector<property_info> info;
for (unsigned i=0; i<count; ++i) {
info.push_back({property_getName(properties[i]), property_getAttributes(properties[i])});
}
free(properties);
return info;
}
static std::map<std::string, std::set<property_info>>
get_distinct_duplicates(const std::vector<property_info> &properties) {
std::map<std::string, std::set<property_info>> grouped;
for (auto &&property : properties) {
grouped[property.name].insert(property);
}
auto it = grouped.begin();
while (it != grouped.end()) {
auto cur = it++;
if (cur->second.size() <= 1) {
grouped.erase(cur);
}
}
return grouped;
}
static void print_duplicates() {
int classCount = objc_getClassList(NULL, 0);
Class *classes = (Class *)malloc(sizeof(Class) * classCount);
objc_getClassList(classes, classCount);
for (int i=0; i<classCount; ++i) {
Class cls = classes[i];
auto properties = get_class_properties(cls);
auto duplicates = get_distinct_duplicates(properties);
for (const auto &item : duplicates) {
for (const auto &property : item.second) {
NSLog(@"%s: %s -> %s", class_getName(cls),
property.name.c_str(), property.attributes.c_str());
}
}
}
free(classes);
}
int main(int argc, char * argv[]) {
print_duplicates();
}
2018-04-23 13:45:19.012814+0300 DuplicatedProperties[76793:23602281] UIPeripheralHost: animationFencingEnabled -> TB,D,N
2018-04-23 13:45:19.013337+0300 DuplicatedProperties[76793:23602281] UIPeripheralHost: animationFencingEnabled -> TB,N,V_animationFencingEnabled
2018-04-23 13:45:19.013432+0300 DuplicatedProperties[76793:23602281] UIPeripheralHost: automaticKeyboard -> T@"UIKeyboard",R,N
2018-04-23 13:45:19.013675+0300 DuplicatedProperties[76793:23602281] UIPeripheralHost: automaticKeyboard -> T@"UIKeyboardAutomatic",R,N
2018-04-23 13:45:19.013810+0300 DuplicatedProperties[76793:23602281] UIPeripheralHost: responder -> T@"UIResponder",&,N,V_responder
2018-04-23 13:45:19.013889+0300 DuplicatedProperties[76793:23602281] UIPeripheralHost: responder -> T@"UIResponder",R,&,D,N
2018-04-23 13:45:19.015261+0300 DuplicatedProperties[76793:23602281] UIApplicationShortcutItem: activationMode -> TQ,N,V_activationMode
2018-04-23 13:45:19.015358+0300 DuplicatedProperties[76793:23602281] UIApplicationShortcutItem: activationMode -> TQ,R,N
2018-04-23 13:45:19.017888+0300 DuplicatedProperties[76793:23602281] UIDevice: orientation -> Tq,N
2018-04-23 13:45:19.018017+0300 DuplicatedProperties[76793:23602281] UIDevice: orientation -> Tq,R,N
2018-04-23 13:45:19.019983+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: bottomAnchor -> T@"NSLayoutYAxisAnchor",R,N
2018-04-23 13:45:19.065047+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: bottomAnchor -> T@"NSLayoutYAxisAnchor",R,N,V_bottomAnchor
2018-04-23 13:45:19.065156+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: centerXAnchor -> T@"NSLayoutXAxisAnchor",R,N
2018-04-23 13:45:19.065222+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: centerXAnchor -> T@"NSLayoutXAxisAnchor",R,N,V_centerXAnchor
2018-04-23 13:45:19.065307+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: centerYAnchor -> T@"NSLayoutYAxisAnchor",R,N
2018-04-23 13:45:19.065374+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: centerYAnchor -> T@"NSLayoutYAxisAnchor",R,N,V_centerYAnchor
2018-04-23 13:45:19.065441+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: heightAnchor -> T@"NSLayoutDimension",R,N
2018-04-23 13:45:19.065506+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: heightAnchor -> T@"NSLayoutDimension",R,N,V_heightAnchor
2018-04-23 13:45:19.065596+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: leadingAnchor -> T@"NSLayoutXAxisAnchor",R,N
2018-04-23 13:45:19.065682+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: leadingAnchor -> T@"NSLayoutXAxisAnchor",R,N,V_leadingAnchor
2018-04-23 13:45:19.065755+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: leftAnchor -> T@"NSLayoutXAxisAnchor",R,N
2018-04-23 13:45:19.065861+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: leftAnchor -> T@"NSLayoutXAxisAnchor",R,N,V_leftAnchor
2018-04-23 13:45:19.065929+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: rightAnchor -> T@"NSLayoutXAxisAnchor",R,N
2018-04-23 13:45:19.065996+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: rightAnchor -> T@"NSLayoutXAxisAnchor",R,N,V_rightAnchor
2018-04-23 13:45:19.066081+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: topAnchor -> T@"NSLayoutYAxisAnchor",R,N
2018-04-23 13:45:19.066147+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: topAnchor -> T@"NSLayoutYAxisAnchor",R,N,V_topAnchor
2018-04-23 13:45:19.066223+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: trailingAnchor -> T@"NSLayoutXAxisAnchor",R,N
2018-04-23 13:45:19.066319+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: trailingAnchor -> T@"NSLayoutXAxisAnchor",R,N,V_trailingAnchor
2018-04-23 13:45:19.066436+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: widthAnchor -> T@"NSLayoutDimension",R,N
2018-04-23 13:45:19.066562+0300 DuplicatedProperties[76793:23602281] UILayoutGuide: widthAnchor -> T@"NSLayoutDimension",R,N,V_widthAnchor
2018-04-23 13:45:19.068966+0300 DuplicatedProperties[76793:23602281] UIBarButtonItem: _itemVariation -> T@"UIBarButtonItem",&,D,N,S_setItemVariation:
2018-04-23 13:45:19.069097+0300 DuplicatedProperties[76793:23602281] UIBarButtonItem: _itemVariation -> T@"UIBarButtonItem",&,N,S_setItemVariation:,V__itemVariation
2018-04-23 13:45:19.069186+0300 DuplicatedProperties[76793:23602281] UIBarButtonItem: _needsViewUpdateForLetterpressImage -> TB,R,N
2018-04-23 13:45:19.069253+0300 DuplicatedProperties[76793:23602281] UIBarButtonItem: _needsViewUpdateForLetterpressImage -> TB,R,N,V__needsViewUpdateForLetterpressImage
2018-04-23 13:45:19.069322+0300 DuplicatedProperties[76793:23602281] UIBarButtonItem: _possibleItemVariations -> T@"NSSet",C,D,N,S_setPossibleItemVariations:
2018-04-23 13:45:19.069395+0300 DuplicatedProperties[76793:23602281] UIBarButtonItem: _possibleItemVariations -> T@"NSSet",C,N,S_setPossibleItemVariations:
2018-04-23 13:45:19.069459+0300 DuplicatedProperties[76793:23602281] UIBarButtonItem: possibleSystemItems -> T@"NSSet",C,N,G_possibleSystemItems,S_setPossibleSystemItems:
2018-04-23 13:45:19.069517+0300 DuplicatedProperties[76793:23602281] UIBarButtonItem: possibleSystemItems -> T@"NSSet",C,N,G_possibleSystemItems,S_setPossibleSystemItems:,V_possibleSystemItems
2018-04-23 13:45:19.073985+0300 DuplicatedProperties[76793:23602281] WebDataSource: _quickLookContent -> T@"NSDictionary",C,N,S_setQuickLookContent:
2018-04-23 13:45:19.074088+0300 DuplicatedProperties[76793:23602281] WebDataSource: _quickLookContent -> T@"NSDictionary",R,N
2018-04-23 13:45:19.082512+0300 DuplicatedProperties[76793:23602281] INPerson: aliases -> T@"NSArray",C,N,V_aliases
2018-04-23 13:45:19.082695+0300 DuplicatedProperties[76793:23602281] INPerson: aliases -> T@"NSArray",R,C,N
2018-04-23 13:45:19.082778+0300 DuplicatedProperties[76793:23602281] INPerson: isMe -> TB,N,V_isMe
2018-04-23 13:45:19.082833+0300 DuplicatedProperties[76793:23602281] INPerson: isMe -> TB,R,N
2018-04-23 13:45:19.082919+0300 DuplicatedProperties[76793:23602281] INPerson: suggestionType -> Tq,N,V_suggestionType
2018-04-23 13:45:19.083030+0300 DuplicatedProperties[76793:23602281] INPerson: suggestionType -> Tq,R,N
2018-04-23 13:45:19.084463+0300 DuplicatedProperties[76793:23602281] VKImageSourceKey: iconAttributeKey -> TI,R,N
2018-04-23 13:45:19.084574+0300 DuplicatedProperties[76793:23602281] VKImageSourceKey: iconAttributeKey -> TI,R,N,V_iconAttributeKey
2018-04-23 13:45:19.084646+0300 DuplicatedProperties[76793:23602281] VKImageSourceKey: iconAttributeValue -> TI,R,N
2018-04-23 13:45:19.084741+0300 DuplicatedProperties[76793:23602281] VKImageSourceKey: iconAttributeValue -> TI,R,N,V_iconAttributeValue
2018-04-23 13:45:19.084834+0300 DuplicatedProperties[76793:23602281] VKImageSourceKey: shieldText -> T@"NSString",R,N
2018-04-23 13:45:19.084901+0300 DuplicatedProperties[76793:23602281] VKImageSourceKey: shieldText -> T@"NSString",R,N,V_shieldText
2018-04-23 13:45:19.084985+0300 DuplicatedProperties[76793:23602281] VKImageSourceKey: shieldType -> TI,R,N,V_shieldType
2018-04-23 13:45:19.085052+0300 DuplicatedProperties[76793:23602281] VKImageSourceKey: shieldType -> Tq,R,N
2018-04-23 13:45:19.086337+0300 DuplicatedProperties[76793:23602281] VKTransitLineMarker: shieldText -> T@"NSString",R,N
2018-04-23 13:45:19.086410+0300 DuplicatedProperties[76793:23602281] VKTransitLineMarker: shieldText -> T@"NSString",R,N,V_shieldText
2018-04-23 13:45:19.086512+0300 DuplicatedProperties[76793:23602281] VKTransitLineMarker: shieldType -> Tq,R,N
2018-04-23 13:45:19.086589+0300 DuplicatedProperties[76793:23602281] VKTransitLineMarker: shieldType -> Tq,R,N,V_shieldType
2018-04-23 13:45:19.087259+0300 DuplicatedProperties[76793:23602281] NSStringDrawingContext: actualTrackingAdjustment -> Td,N,V_actualTrackingAdjustment
2018-04-23 13:45:19.087324+0300 DuplicatedProperties[76793:23602281] NSStringDrawingContext: actualTrackingAdjustment -> Td,R,D,N
2018-04-23 13:45:19.093347+0300 DuplicatedProperties[76793:23602281] FPProvider: empty -> TB,N,GisEmpty
2018-04-23 13:45:19.093438+0300 DuplicatedProperties[76793:23602281] FPProvider: empty -> TB,R,N,GisEmpty,V_empty
2018-04-23 13:45:19.093521+0300 DuplicatedProperties[76793:23602281] FPProvider: providerIdentifier -> T@"NSString",R,N
2018-04-23 13:45:19.093605+0300 DuplicatedProperties[76793:23602281] FPProvider: providerIdentifier -> T@"NSString",R,N,V_providerIdentifier
2018-04-23 13:45:19.096052+0300 DuplicatedProperties[76793:23602281] GEOProtobufSessionTask: completedAsCancelled -> TB,N,V_completedAsCancelled
2018-04-23 13:45:19.096144+0300 DuplicatedProperties[76793:23602281] GEOProtobufSessionTask: completedAsCancelled -> TB,R,N
2018-04-23 13:45:19.096245+0300 DuplicatedProperties[76793:23602281] GEOProtobufSessionTask: error -> T@"NSError",&,N,V_error
2018-04-23 13:45:19.096303+0300 DuplicatedProperties[76793:23602281] GEOProtobufSessionTask: error -> T@"NSError",R,N
2018-04-23 13:45:19.096367+0300 DuplicatedProperties[76793:23602281] GEOProtobufSessionTask: response -> T@"PBCodable",&,N,V_response
2018-04-23 13:45:19.096436+0300 DuplicatedProperties[76793:23602281] GEOProtobufSessionTask: response -> T@"PBCodable",R,N
2018-04-23 13:45:19.097264+0300 DuplicatedProperties[76793:23602281] GEODataURLSessionTask: failedDueToCancel -> TB,R
2018-04-23 13:45:19.097344+0300 DuplicatedProperties[76793:23602281] GEODataURLSessionTask: failedDueToCancel -> TB,R,N
2018-04-23 13:45:19.097805+0300 DuplicatedProperties[76793:23602281] GEODataXPCSessionTask: activity -> T@"NSObject<OS_os_activity>",R,N
2018-04-23 13:45:19.097870+0300 DuplicatedProperties[76793:23602281] GEODataXPCSessionTask: activity -> T@"NSObject<OS_os_activity>",R,N,V_activity
2018-04-23 13:45:19.097934+0300 DuplicatedProperties[76793:23602281] GEODataXPCSessionTask: sessionIsolation -> T@"NSObject<OS_dispatch_queue>",R,N
2018-04-23 13:45:19.098008+0300 DuplicatedProperties[76793:23602281] GEODataXPCSessionTask: sessionIsolation -> T@"NSObject<OS_dispatch_queue>",R,N,V_sessionIsolation
2018-04-23 13:45:19.101265+0300 DuplicatedProperties[76793:23602281] BSProcessHandle: bundleIdentifier -> T@"NSString",R,C,D,N
2018-04-23 13:45:19.101405+0300 DuplicatedProperties[76793:23602281] BSProcessHandle: bundleIdentifier -> T@"NSString",R,C,N
2018-04-23 13:45:19.101484+0300 DuplicatedProperties[76793:23602281] BSProcessHandle: bundleIdentifier -> T@"NSString",R,C,N,V_bundleID
2018-04-23 13:45:19.101552+0300 DuplicatedProperties[76793:23602281] BSProcessHandle: jobLabel -> T@"NSString",C,N,V_jobLabel
2018-04-23 13:45:19.101603+0300 DuplicatedProperties[76793:23602281] BSProcessHandle: jobLabel -> T@"NSString",R,C,D,N
2018-04-23 13:45:19.101669+0300 DuplicatedProperties[76793:23602281] BSProcessHandle: name -> T@"NSString",R,C,D,N
2018-04-23 13:45:19.101743+0300 DuplicatedProperties[76793:23602281] BSProcessHandle: name -> T@"NSString",R,C,N,V_name
2018-04-23 13:45:19.101811+0300 DuplicatedProperties[76793:23602281] BSProcessHandle: pid -> Ti,R,D,N
2018-04-23 13:45:19.101875+0300 DuplicatedProperties[76793:23602281] BSProcessHandle: pid -> Ti,R,N
2018-04-23 13:45:19.101945+0300 DuplicatedProperties[76793:23602281] BSProcessHandle: pid -> Ti,R,N,V_pid
2018-04-23 13:45:19.102049+0300 DuplicatedProperties[76793:23602281] BSProcessHandle: taskNameRight -> T@"BSMachPortTaskNameRight",R,&,D,N
2018-04-23 13:45:19.102115+0300 DuplicatedProperties[76793:23602281] BSProcessHandle: taskNameRight -> T@"BSMachPortTaskNameRight",R,&,N,V_taskNameRight
2018-04-23 13:45:19.109713+0300 DuplicatedProperties[76793:23602281] GEOPBTransitStation: muid -> TQ,N
2018-04-23 13:45:19.109825+0300 DuplicatedProperties[76793:23602281] GEOPBTransitStation: muid -> TQ,N,V_muid
2018-04-23 13:45:19.111469+0300 DuplicatedProperties[76793:23602281] GEOPBTransitHall: muid -> TQ,N
2018-04-23 13:45:19.111545+0300 DuplicatedProperties[76793:23602281] GEOPBTransitHall: muid -> TQ,N,V_muid
2018-04-23 13:45:19.112158+0300 DuplicatedProperties[76793:23602281] GEOCompanionDriveStep: junctionType -> Ti,N
2018-04-23 13:45:19.112251+0300 DuplicatedProperties[76793:23602281] GEOCompanionDriveStep: junctionType -> Ti,N,V_junctionType
2018-04-23 13:45:19.112329+0300 DuplicatedProperties[76793:23602281] GEOCompanionDriveStep: maneuverNames -> T@"NSMutableArray",&,N
2018-04-23 13:45:19.112399+0300 DuplicatedProperties[76793:23602281] GEOCompanionDriveStep: maneuverNames -> T@"NSMutableArray",&,N,V_maneuverNames
2018-04-23 13:45:19.112489+0300 DuplicatedProperties[76793:23602281] GEOCompanionDriveStep: maneuverType -> Ti,N
2018-04-23 13:45:19.112573+0300 DuplicatedProperties[76793:23602281] GEOCompanionDriveStep: maneuverType -> Ti,N,V_maneuverType
2018-04-23 13:45:19.112650+0300 DuplicatedProperties[76793:23602281] GEOCompanionDriveStep: signposts -> T@"NSMutableArray",&,N
2018-04-23 13:45:19.112718+0300 DuplicatedProperties[76793:23602281] GEOCompanionDriveStep: signposts -> T@"NSMutableArray",&,N,V_signposts
2018-04-23 13:45:19.113597+0300 DuplicatedProperties[76793:23602281] GEOPDTransitLabel: labelArtwork -> T@"<GEOTransitArtworkDataSource>",R,D,N
2018-04-23 13:45:19.113680+0300 DuplicatedProperties[76793:23602281] GEOPDTransitLabel: labelArtwork -> T@"GEOPBTransitArtwork",&,N,V_labelArtwork
2018-04-23 13:45:19.114031+0300 DuplicatedProperties[76793:23602281] GEOPBTransitSystem: muid -> TQ,N
2018-04-23 13:45:19.114136+0300 DuplicatedProperties[76793:23602281] GEOPBTransitSystem: muid -> TQ,N,V_muid
2018-04-23 13:45:19.114493+0300 DuplicatedProperties[76793:23602281] GEOFormatArgument: token -> T@"NSString",&,N,V_token
2018-04-23 13:45:19.114571+0300 DuplicatedProperties[76793:23602281] GEOFormatArgument: token -> T@"NSString",R,N
2018-04-23 13:45:19.115073+0300 DuplicatedProperties[76793:23602281] GEOMapItemStorage: clientAttributes -> T@"GEOMapItemClientAttributes",&,N,V_clientAttributes
2018-04-23 13:45:19.115138+0300 DuplicatedProperties[76793:23602281] GEOMapItemStorage: clientAttributes -> T@"GEOMapItemClientAttributes",R,N,G_clientAttributes
2018-04-23 13:45:19.115204+0300 DuplicatedProperties[76793:23602281] GEOMapItemStorage: place -> T@"GEOPlace",&,N,V_place
2018-04-23 13:45:19.139020+0300 DuplicatedProperties[76793:23602281] GEOMapItemStorage: place -> T@"GEOPlace",R,N,G_place
2018-04-23 13:45:19.139100+0300 DuplicatedProperties[76793:23602281] GEOMapItemStorage: placeData -> T@"GEOPDPlace",&,N,V_placeData
2018-04-23 13:45:19.139187+0300 DuplicatedProperties[76793:23602281] GEOMapItemStorage: placeData -> T@"GEOPDPlace",R,N,G_placeData
2018-04-23 13:45:19.140743+0300 DuplicatedProperties[76793:23602281] GEOTimestampData: formatPattern -> T@"NSString",&,N,V_formatPattern
2018-04-23 13:45:19.140838+0300 DuplicatedProperties[76793:23602281] GEOTimestampData: formatPattern -> T@"NSString",R,N
2018-04-23 13:45:19.142862+0300 DuplicatedProperties[76793:23602281] GEOFormattedString: formatStrings -> T@"NSArray",R,N
2018-04-23 13:45:19.142948+0300 DuplicatedProperties[76793:23602281] GEOFormattedString: formatStrings -> T@"NSMutableArray",&,N,V_formatStrings
2018-04-23 13:45:19.143018+0300 DuplicatedProperties[76793:23602281] GEOFormattedString: separators -> T@"NSArray",R,N
2018-04-23 13:45:19.143135+0300 DuplicatedProperties[76793:23602281] GEOFormattedString: separators -> T@"NSMutableArray",&,N,V_separators
2018-04-23 13:45:19.143475+0300 DuplicatedProperties[76793:23602281] GEOPBTransitStop: muid -> TQ,N
2018-04-23 13:45:19.143558+0300 DuplicatedProperties[76793:23602281] GEOPBTransitStop: muid -> TQ,N,V_muid
2018-04-23 13:45:19.143807+0300 DuplicatedProperties[76793:23602281] GEOPBTransitLine: muid -> TQ,N
2018-04-23 13:45:19.143911+0300 DuplicatedProperties[76793:23602281] GEOPBTransitLine: muid -> TQ,N,V_muid
2018-04-23 13:45:19.144066+0300 DuplicatedProperties[76793:23602281] GEOCompanionFerryStep: junctionType -> Ti,N
2018-04-23 13:45:19.144137+0300 DuplicatedProperties[76793:23602281] GEOCompanionFerryStep: junctionType -> Ti,N,V_junctionType
2018-04-23 13:45:19.144205+0300 DuplicatedProperties[76793:23602281] GEOCompanionFerryStep: maneuverNames -> T@"NSMutableArray",&,N
2018-04-23 13:45:19.144267+0300 DuplicatedProperties[76793:23602281] GEOCompanionFerryStep: maneuverNames -> T@"NSMutableArray",&,N,V_maneuverNames
2018-04-23 13:45:19.144324+0300 DuplicatedProperties[76793:23602281] GEOCompanionFerryStep: maneuverType -> Ti,N
2018-04-23 13:45:19.144391+0300 DuplicatedProperties[76793:23602281] GEOCompanionFerryStep: maneuverType -> Ti,N,V_maneuverType
2018-04-23 13:45:19.144465+0300 DuplicatedProperties[76793:23602281] GEOCompanionFerryStep: signposts -> T@"NSMutableArray",&,N
2018-04-23 13:45:19.144535+0300 DuplicatedProperties[76793:23602281] GEOCompanionFerryStep: signposts -> T@"NSMutableArray",&,N,V_signposts
2018-04-23 13:45:19.144724+0300 DuplicatedProperties[76793:23602281] GEOCompanionWalkStep: junctionType -> Ti,N
2018-04-23 13:45:19.144790+0300 DuplicatedProperties[76793:23602281] GEOCompanionWalkStep: junctionType -> Ti,N,V_junctionType
2018-04-23 13:45:19.144869+0300 DuplicatedProperties[76793:23602281] GEOCompanionWalkStep: maneuverNames -> T@"NSMutableArray",&,N
2018-04-23 13:45:19.144932+0300 DuplicatedProperties[76793:23602281] GEOCompanionWalkStep: maneuverNames -> T@"NSMutableArray",&,N,V_maneuverNames
2018-04-23 13:45:19.145000+0300 DuplicatedProperties[76793:23602281] GEOCompanionWalkStep: maneuverType -> Ti,N
2018-04-23 13:45:19.145057+0300 DuplicatedProperties[76793:23602281] GEOCompanionWalkStep: maneuverType -> Ti,N,V_maneuverType
2018-04-23 13:45:19.145137+0300 DuplicatedProperties[76793:23602281] GEOCompanionWalkStep: signposts -> T@"NSMutableArray",&,N
2018-04-23 13:45:19.145259+0300 DuplicatedProperties[76793:23602281] GEOCompanionWalkStep: signposts -> T@"NSMutableArray",&,N,V_signposts
2018-04-23 13:45:19.145460+0300 DuplicatedProperties[76793:23602281] GEOPrice: currencyCode -> T@"NSString",&,N,V_currencyCode
2018-04-23 13:45:19.145535+0300 DuplicatedProperties[76793:23602281] GEOPrice: currencyCode -> T@"NSString",R,D,N
2018-04-23 13:45:19.145869+0300 DuplicatedProperties[76793:23602281] GEOPBTransitShield: shieldText -> T@"NSString",&,N,V_shieldText
2018-04-23 13:45:19.145943+0300 DuplicatedProperties[76793:23602281] GEOPBTransitShield: shieldText -> T@"NSString",R,N
2018-04-23 13:45:19.147083+0300 DuplicatedProperties[76793:23602281] GEOTransitBaseFare: cashOnly -> TB,N,V_cashOnly
2018-04-23 13:45:19.147152+0300 DuplicatedProperties[76793:23602281] GEOTransitBaseFare: cashOnly -> TB,R,D,N
2018-04-23 13:45:19.159796+0300 DuplicatedProperties[76793:23602281] UIViewController: _embeddedDelegate -> T@"<_UIViewControllerContentViewEmbedding>",N,S_setEmbeddedDelegate:,V__embeddedDelegate
2018-04-23 13:45:19.159904+0300 DuplicatedProperties[76793:23602281] UIViewController: _embeddedDelegate -> T@"<_UIViewControllerContentViewEmbedding>",R,D,N
2018-04-23 13:45:19.160076+0300 DuplicatedProperties[76793:23602281] UIViewController: _embeddedView -> T@"UIView",&,N,S_setEmbeddedView:,V__embeddedView
2018-04-23 13:45:19.160248+0300 DuplicatedProperties[76793:23602281] UIViewController: _embeddedView -> T@"UIView",R,D,N
2018-04-23 13:45:19.161064+0300 DuplicatedProperties[76793:23602281] CNContactContentViewController: contactFormatter -> T@"CNContactFormatter",&,N
2018-04-23 13:45:19.161129+0300 DuplicatedProperties[76793:23602281] CNContactContentViewController: contactFormatter -> T@"CNContactFormatter",&,N,V_contactFormatter
2018-04-23 13:45:19.167201+0300 DuplicatedProperties[76793:23602281] UIKeyboardImpl: autocorrectionController -> T@"UIKeyboardAutocorrectionController",R,N
2018-04-23 13:45:19.167286+0300 DuplicatedProperties[76793:23602281] UIKeyboardImpl: autocorrectionController -> T@"UIKeyboardAutocorrectionController",R,N,Vm_autocorrectionController
2018-04-23 13:45:19.167368+0300 DuplicatedProperties[76793:23602281] UIKeyboardImpl: changedDelegate -> T@,&,D,N
2018-04-23 13:45:19.167441+0300 DuplicatedProperties[76793:23602281] UIKeyboardImpl: changedDelegate -> T@,&,N,Vm_changedDelegate
2018-04-23 13:45:19.168135+0300 DuplicatedProperties[76793:23602281] UILabel: _wantsUnderlineForAccessibilityButtonShapesEnabled -> TB,D,N,S_setWantsUnderlineForAccessibilityButtonShapesEnabled:
2018-04-23 13:45:19.168206+0300 DuplicatedProperties[76793:23602281] UILabel: _wantsUnderlineForAccessibilityButtonShapesEnabled -> TB,N,S_setWantsUnderlineForAccessibilityButtonShapesEnabled:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment