I’ve just opened my cocos2dx project in Xcode for the first time in a few months, and I can’t get it to run because of a typedef redefinition in a file called AVAssetExportSessionStatus, which interestingly is a file that I do not have permission to edit. Any advice on how to fix this?
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetExportSession.h:107:28: Typedef redefinition with different types (‘enum AVAssetExportSessionStatus’ vs ‘NSInteger’ (aka ‘long’))
I think if you are using iOS 9 / Xcode 7, then you need to upgrade to Cocos2d-x 3.8.1.
Not 100% certain though, because I have not used the JavaScript version of Cocos2d-x.
But upgrading to Xcode 7 did introduce some issue with the core of Cocos2-x 3.x pre 3.8.1.
Still getting a similar error
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetExportSession.h:107:28: Definition of type ‘AVAssetExportSessionStatus’ conflicts with typedef of the same name
The AvAssetExportSessionStatus is part of the AVFoundation framework for iOS.
That is strange that somehow your Xcode project is finding multiple definitions of AvAssetExportSessionStatus.
Did you try holding down the Option key and then Product -> Clean and then rebuild your project?
Have you tried creating a new JavaScript project with v3.8.1 to see if it builds ok in Xcode?
If that works, then you could copy your source over and move on with making your game.