我正在尝试使用 PJSIP 构建这个 SIP 应用程序。
当我编译时,我得到了这个错误,不知道为什么或如何重复某些东西。我检查了:构建阶段->链接二进制与库构建阶段->编译源
重复但没有。
这是错误:
ignoring file /Users/kaanersan/Gogo/Gogo/libsrtp-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (i386): /Users/kaanersan/Gogo/Gogo/libsrtp-arm-apple-darwin9.a
duplicate symbol _kSIPCallState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/UINavigationController+CustomAnimation.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/UINavigationController+CustomAnimation.o
duplicate symbol _kSIPMwiInfo in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/UINavigationController+CustomAnimation.o
duplicate symbol _kSIPCallState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/NSString+CustomMethods.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/NSString+CustomMethods.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIHTTPRequest.o
duplicate symbol _kSIPMwiInfo in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIHTTPRequest.o
duplicate symbol _kSIPCallState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIInputStream.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIInputStream.o
duplicate symbol _kSIPMwiInfo in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIInputStream.o
duplicate symbol _kSIPCallState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASINetworkQueue.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASINetworkQueue.o
duplicate symbol _kSIPMwiInfo in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASINetworkQueue.o
duplicate symbol _kSIPCallState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/RoundedRectView.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/RoundedRectView.o
duplicate symbol _kSIPMwiInfo in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/RoundedRectView.o
duplicate symbol _kSIPCallState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/HelpCell.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/HelpCell.o
duplicate symbol _kSIPMwiInfo in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/HelpCell.o
duplicate symbol _kSIPCallState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/InputCell.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/InputCell.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/InfoViewController.o
duplicate symbol _kSIPMwiInfo in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/InfoViewController.o
duplicate symbol _kSIPCallState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/SignInViewController.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/SignInViewController.o
duplicate symbol _kSIPCallState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ConnectViewController.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ConnectViewController.o
duplicate symbol _kSIPMwiInfo in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ConnectViewController.o
duplicate symbol _kSIPCallState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ring.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ring.o
duplicate symbol _kSIPMwiInfo in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ring.o
duplicate symbol _kSIPCallState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/NSNotificationAdditions.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/NSNotificationAdditions.o
duplicate symbol _kSIPMwiInfo in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/NSNotificationAdditions.o
duplicate symbol _kSIPCallState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/Reachability.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/dtmf.o
duplicate symbol _kSIPMwiInfo in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/dtmf.o
duplicate symbol _kSIPCallState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/APIManager.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/APIManager.o
duplicate symbol _kSIPMwiInfo in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/APIManager.o
duplicate symbol _kSIPCallState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/AppDelegate.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/AppDelegate.o
duplicate symbol _kSIPMwiInfo in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/AppDelegate.o
duplicate symbol _kSIPCallState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/main.o
duplicate symbol _kSIPRegState in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/main.o
duplicate symbol _kSIPMwiInfo in:
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/ASIDataDecompressor.o
/Users/kaanersan/Library/Developer/Xcode/DerivedData/Gogo-haciurlkiibxaffblggckauokhyf/Build/Intermediates/Gogo.build/Debug-iphonesimulator/Gogo.build/Objects-normal/i386/main.o
ld: 126 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我不得不删掉错误的某些部分,因为它不适合问题,但我相信最重要的部分是最后一部分,那是红色错误,其余的是警告。
一些帮助将不胜感激!
编辑:
ASIDataDecompressor.h:
#import <Foundation/Foundation.h>
#import <zlib.h>
@interface ASIDataDecompressor : NSObject {
BOOL streamReady;
z_stream zStream;
}
// Convenience constructor will call setupStream for you
+ (id)decompressor;
// Uncompress the passed chunk of data
- (NSData *)uncompressBytes:(Bytef *)bytes length:(NSUInteger)length error:(NSError **)err;
// Convenience method - pass it some deflated data, and you'll get inflated data back
+ (NSData *)uncompressData:(NSData*)compressedData error:(NSError **)err;
// Convenience method - pass it a file containing deflated data in sourcePath, and it will write inflated data to destinationPath
+ (BOOL)uncompressDataFromFile:(NSString *)sourcePath toFile:(NSString *)destinationPath error:(NSError **)err;
// Sets up zlib to handle the inflating. You only need to call this yourself if you aren't using the convenience constructor 'decompressor'
- (NSError *)setupStream;
// Tells zlib to clean up. You need to call this if you need to cancel inflating part way through
// If inflating finishes or fails, this method will be called automatically
- (NSError *)closeStream;
@property (assign, readonly) BOOL streamReady;
@end
ASIDataDecompressor.m:
#import "ASIDataDecompressor.h"
#import "ASIHTTPRequest.h"
#define DATA_CHUNK_SIZE 262144 // Deal with gzipped data in 256KB chunks
@interface ASIDataDecompressor ()
+ (NSError *)inflateErrorWithCode:(int)code;
@end;
@implementation ASIDataDecompressor
+ (id)decompressor
{
ASIDataDecompressor *decompressor = [[[self alloc] init] autorelease];
[decompressor setupStream];
return decompressor;
}
- (void)dealloc
{
if (streamReady) {
[self closeStream];
}
[super dealloc];
}
- (NSError *)setupStream
{
if (streamReady) {
return nil;
}
// Setup the inflate stream
zStream.zalloc = Z_NULL;
zStream.zfree = Z_NULL;
zStream.opaque = Z_NULL;
zStream.avail_in = 0;
zStream.next_in = 0;
int status = inflateInit2(&zStream, (15+32));
if (status != Z_OK) {
return [[self class] inflateErrorWithCode:status];
}
streamReady = YES;
return nil;
}
- (NSError *)closeStream
{
if (!streamReady) {
return nil;
}
// Close the inflate stream
streamReady = NO;
int status = inflateEnd(&zStream);
if (status != Z_OK) {
return [[self class] inflateErrorWithCode:status];
}
return nil;
}
- (NSData *)uncompressBytes:(Bytef *)bytes length:(NSUInteger)length error:(NSError **)err
{
if (length == 0) return nil;
NSUInteger halfLength = length/2;
NSMutableData *outputData = [NSMutableData dataWithLength:length+halfLength];
int status;
zStream.next_in = bytes;
zStream.avail_in = (unsigned int)length;
zStream.avail_out = 0;
NSInteger bytesProcessedAlready = zStream.total_out;
while (zStream.avail_in != 0) {
if (zStream.total_out-bytesProcessedAlready >= [outputData length]) {
[outputData increaseLengthBy:halfLength];
}
zStream.next_out = (Bytef*)[outputData mutableBytes] + zStream.total_out-bytesProcessedAlready;
zStream.avail_out = (unsigned int)([outputData length] - (zStream.total_out-bytesProcessedAlready));
status = inflate(&zStream, Z_NO_FLUSH);
if (status == Z_STREAM_END) {
break;
} else if (status != Z_OK) {
if (err) {
*err = [[self class] inflateErrorWithCode:status];
}
return nil;
}
}
// Set real length
[outputData setLength: zStream.total_out-bytesProcessedAlready];
return outputData;
}
+ (NSData *)uncompressData:(NSData*)compressedData error:(NSError **)err
{
NSError *theError = nil;
NSData *outputData = [[ASIDataDecompressor decompressor] uncompressBytes:(Bytef *)[compressedData bytes] length:[compressedData length] error:&theError];
if (theError) {
if (err) {
*err = theError;
}
return nil;
}
return outputData;
}
+ (BOOL)uncompressDataFromFile:(NSString *)sourcePath toFile:(NSString *)destinationPath error:(NSError **)err
{
NSFileManager *fileManager = [[[NSFileManager alloc] init] autorelease];
// Create an empty file at the destination path
if (![fileManager createFileAtPath:destinationPath contents:[NSData data] attributes:nil]) {
if (err) {
*err = [NSError errorWithDomain:NetworkRequestErrorDomain code:ASICompressionError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:[NSString stringWithFormat:@"Decompression of %@ failed because we were to create a file at %@",sourcePath,destinationPath],NSLocalizedDescriptionKey,nil]];
}
return NO;
}
// Ensure the source file exists
if (![fileManager fileExistsAtPath:sourcePath]) {
if (err) {
*err = [NSError errorWithDomain:NetworkRequestErrorDomain code:ASICompressionError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:[NSString stringWithFormat:@"Decompression of %@ failed the file does not exist",sourcePath],NSLocalizedDescriptionKey,nil]];
}
return NO;
}
UInt8 inputData[DATA_CHUNK_SIZE];
NSData *outputData;
NSInteger readLength;
NSError *theError = nil;
ASIDataDecompressor *decompressor = [ASIDataDecompressor decompressor];
NSInputStream *inputStream = [NSInputStream inputStreamWithFileAtPath:sourcePath];
[inputStream open];
NSOutputStream *outputStream = [NSOutputStream outputStreamToFileAtPath:destinationPath append:NO];
[outputStream open];
while ([decompressor streamReady]) {
// Read some data from the file
readLength = [inputStream read:inputData maxLength:DATA_CHUNK_SIZE];
// Make sure nothing went wrong
if ([inputStream streamStatus] == NSStreamEventErrorOccurred) {
if (err) {
*err = [NSError errorWithDomain:NetworkRequestErrorDomain code:ASICompressionError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:[NSString stringWithFormat:@"Decompression of %@ failed because we were unable to read from the source data file",sourcePath],NSLocalizedDescriptionKey,[inputStream streamError],NSUnderlyingErrorKey,nil]];
}
[decompressor closeStream];
return NO;
}
// Have we reached the end of the input data?
if (!readLength) {
break;
}
// Attempt to inflate the chunk of data
outputData = [decompressor uncompressBytes:inputData length:readLength error:&theError];
if (theError) {
if (err) {
*err = theError;
}
[decompressor closeStream];
return NO;
}
// Write the inflated data out to the destination file
[outputStream write:(Bytef*)[outputData bytes] maxLength:[outputData length]];
// Make sure nothing went wrong
if ([inputStream streamStatus] == NSStreamEventErrorOccurred) {
if (err) {
*err = [NSError errorWithDomain:NetworkRequestErrorDomain code:ASICompressionError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:[NSString stringWithFormat:@"Decompression of %@ failed because we were unable to write to the destination data file at %@",sourcePath,destinationPath],NSLocalizedDescriptionKey,[outputStream streamError],NSUnderlyingErrorKey,nil]];
}
[decompressor closeStream];
return NO;
}
}
[inputStream close];
[outputStream close];
NSError *error = [decompressor closeStream];
if (error) {
if (err) {
*err = error;
}
return NO;
}
return YES;
}
+ (NSError *)inflateErrorWithCode:(int)code
{
return [NSError errorWithDomain:NetworkRequestErrorDomain code:ASICompressionError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:[NSString stringWithFormat:@"Decompression of data failed with code %d",code],NSLocalizedDescriptionKey,nil]];
}
@synthesize streamReady;
@end