iOS AppStore Validation fails using Carthage
MikeyLew opened this issue · comments
This might be caused by a Carthage configuration issue in your project.
Carthage Build Phase
Make sure your project's Target has a Carthage Build Phase
Mine is called [Carthage] Copy Frameworks
and inserted after Copy Bundle Resources
echo 'Running Carthage copy-frameworks'
carthage copy-frameworks
The Input Files section should contain a line for every framework (and dependency). For example:
$(SRCROOT)/Carthage/Build/iOS/CocoaAsyncSocket.framework
$(SRCROOT)/Carthage/Build/iOS/HTTPParserC.framework
$(SRCROOT)/Carthage/Build/iOS/Telegraph.framework
The Output Files section should contain similar lines. For example:
$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/CocoaAsyncSocket.framework
$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/HTTPParserC.framework
$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Telegraph.framework
Project Frameworks
Make sure all the frameworks are linked to the Project. You should see them in the Frameworks container in Xcode and under Linked Frameworks and Libraries
in the General tab of your Target.
For Telegraph you need at least:
- CocoaAsyncSocket.framework
- HTTPParserC.framework
- Telegraph.framework
Rebuilding Carthage
You can reinstall your Carthage packages using these steps:
- Remove the Carthage folder:
rm -rf Carthage
- Remove the Carthage resolved file
rm -rf Cartfile.resolved
- Update and rebuild:
carthage update --platform iOS
For more information see:
https://github.com/Carthage/Carthage#if-youre-building-for-ios-tvos-or-watchos
If your app is targeting multiple platforms you should probably replace iOS
in the steps above.
Thanks!