Building42 / Telegraph

Secure Web Server for iOS, tvOS and macOS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

iOS AppStore Validation fails using Carthage

MikeyLew opened this issue · comments

I have tried archiving my app that makes use of your framework via Carthage but I keep getting the following, any suggestions?

screenshot 2019-01-24 at 17 01 51

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:

  1. Remove the Carthage folder: rm -rf Carthage
  2. Remove the Carthage resolved file rm -rf Cartfile.resolved
  3. 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!