Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App crash after logging in #85

Closed
PaterB opened this issue Apr 15, 2016 · 62 comments
Closed

App crash after logging in #85

PaterB opened this issue Apr 15, 2016 · 62 comments
Labels

Comments

@PaterB
Copy link

PaterB commented Apr 15, 2016

I just downloaded the paypal here SDK.
Running the TakePayment SDK, upon login with my business account, it crashes.

Please look at the crash log below. Thanks.

2016-04-15 15:22:38.970 TakePayment[2172:407292] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '[PayPalHereSDK activeMerchant].currencyCode is nil. Either set this value or use initWithCurrency:'
*** First throw call stack:
(
    0   CoreFoundation                      0x0247da14 __exceptionPreprocess + 180
    1   libobjc.A.dylib                     0x01f3ee02 objc_exception_throw + 50
    2   CoreFoundation                      0x0247d8aa +[NSException raise:format:arguments:] + 138
    3   Foundation                          0x01570d26 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 118
    4   TakePayment                         0x001e67dd -[PPHInvoice init] + 477
    5   TakePayment                         0x000e2140 -[PaymentViewController setupSimpleInvoice] + 80
    6   TakePayment                         0x000e1f61 -[PaymentViewController viewWillAppear:] + 129
    7   UIKit                               0x02c6ad37 -[UIViewController _setViewAppearState:isAnimating:] + 659
    8   UIKit                               0x02c6b427 -[UIViewController __viewWillAppear:] + 147
    9   UIKit                               0x02c8e5b9 -[UIViewController(UIContainerViewControllerProtectedMethods) beginAppearanceTransition:animated:] + 202
    10  UIKit                               0x02ca09cc -[UINavigationController _startCustomTransition:] + 1389
    11  UIKit                               0x02cb2769 -[UINavigationController _startDeferredTransitionIfNeeded:] + 803
    12  UIKit                               0x02cb3ada -[UINavigationController __viewWillLayoutSubviews] + 68
    13  UIKit                               0x02e8fc4a -[UILayoutContainerView layoutSubviews] + 252
    14  UIKit                               0x02b65008 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 810
    15  libobjc.A.dylib                     0x01f53059 -[NSObject performSelector:withObject:] + 70
    16  QuartzCore                          0x0554480a -[CALayer layoutSublayers] + 144
    17  QuartzCore                          0x055384ee _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 388
    18  QuartzCore                          0x05538352 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 26
    19  QuartzCore                          0x0552ae8b _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 317
    20  QuartzCore                          0x0555ee03 _ZN2CA11Transaction6commitEv + 561
    21  QuartzCore                          0x0555f6c4 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 92
    22  CoreFoundation                      0x02396ffe __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 30
    23  CoreFoundation                      0x02396f5e __CFRunLoopDoObservers + 398
    24  CoreFoundation                      0x0238c8dc __CFRunLoopRun + 1340
    25  CoreFoundation                      0x0238c0e6 CFRunLoopRunSpecific + 470
    26  CoreFoundation                      0x0238befb CFRunLoopRunInMode + 123
    27  GraphicsServices                    0x05b1a664 GSEventRunModal + 192
    28  GraphicsServices                    0x05b1a4a1 GSEventRun + 104
    29  UIKit                               0x02a98bfa UIApplicationMain + 160
    30  TakePayment                         0x000dfeda main + 138
    31  libdyld.dylib                       0x04071a21 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
@ppmtscory
Copy link
Contributor

@PaterB that error is usually due to, either the merchant account not having PayPal Here enabled, or not having the right scopes assigned during the permissions portion of the onboarding. Please ensure that your onboarding flow utilizes the following scopes at minimum:

https://uri.paypal.com/services/paypalhere
email
address
https://uri.paypal.com/services/paypalattributes/business

You'll also need to ensure that your App that you created under your developer.paypal.com account has the PayPal HERE option selected as well as all of the address options selected (they are underneath the Log In With PayPal section).

@PaterB
Copy link
Author

PaterB commented Apr 17, 2016

I have my sandbox account setup with paypal here enabled.
When I try login the error still the same, I do not know where in the paypal website I could configure my currency code.
What do you mean by onboarding flow? As long as I follow what's in the TakePayment app it should be fine?

@ppmtscory
Copy link
Contributor

Please let me know the merchant ID of your sandbox account so I can take a look at how it's set up.

@PaterB
Copy link
Author

PaterB commented Apr 18, 2016

How do I find merchant ID?
I got my client ID here.
AZHfFgetsCo-eyEmsuy.......................0B06qh-VzJjN6EutkIYS

@ppmtscory
Copy link
Contributor

If you login to your account at sandbox.paypal.com, you would see it, otherwise you can just let me know the email address (since it's Sandbox) if that's easier.

@PaterB
Copy link
Author

PaterB commented Apr 18, 2016

KKSFRHD45Y7GW, here's my merchant account id

@ppmtscory
Copy link
Contributor

Thanks @PaterB. That account is a Singapore account which is not eligible for PayPal Here. You'll want to create a US Business account with the first name of 'Ryan' to use in the Onboarding. The onboarding is explained in the Merchant Onboarding document that's in the docs folder of this repo. The TakePayment app assumes that the account is already set up for PayPal Here, which won't be the case for a brand new sandbox account. You'll need to run it through the initial signup flow that's explained in the Merchant Onboarding guide.

Let me know if you run into any more questions.

@PaterB
Copy link
Author

PaterB commented Apr 18, 2016

I have created an account and now I'm able to login.
However I do not have a card reader, how can I get that when I'm not in United States?
It seems like the sample app won't allow me to try anything without having the reader.

@ppmtscory
Copy link
Contributor

The EMV reader is only able to be tested in Production, but the older triangle dongles can be used in the Sandbox. Also, you can modify the TakePayment App for keyed entry to test in the Sandbox as well. You can purchase readers here or you can request one if you sign up for PayPal HERE through the PPH App itself from the App/Play Store.

@PaterB
Copy link
Author

PaterB commented Apr 19, 2016

I tried using key mode, now I receive this error.

{"correlationId":"149ad15296845","errorCode":580029,"message":"Missing field: merchantInfo.businessName","developerMessage":"Your request is missing a field: businessName on the object merchantInfo","errorType":"missing_field"}

@ppmtscory
Copy link
Contributor

@PaterB it appears that you didn't create your sandbox merchant account through developer.paypal.com so there were some things that weren't verified on the account. I've manually changed those things so the account should be able to be used now.

@PaterB
Copy link
Author

PaterB commented Apr 20, 2016

Hi I still receive the same error.

@ppmtscory
Copy link
Contributor

Can you provide the correlation ID of the error? Also, can you confirm that you're logging in and providing permissions to the TakePayment App so that it's able to get the information that it needs from your account?

@PaterB
Copy link
Author

PaterB commented Apr 20, 2016

When I first login, I did allow the permission.
Here's the correlationID.

Data: {"correlationId":"622bce6285a90","errorCode":580029,"message":"Missing field: merchantInfo.businessName","developerMessage":"Your request is missing a field: businessName on the object merchantInfo","errorType":"missing_field"}

@ppmtscory
Copy link
Contributor

My apologies for the delay. Please try using the following sandbox login and see if it works. I really think that there's an issue with the account you created.
email: paterb@test.com
pwd: 123abct3st

@PaterB
Copy link
Author

PaterB commented Apr 23, 2016

Thanks so much for your help. It works now.
I'm trying to use key in payment using code below.
However it still ask me to swipe card. Is there something wrong?

[[PayPalHereSDK sharedTransactionManager] processPaymentUsingUIWithPaymentType:ePPHPaymentMethodKey
                                                                 completionHandler:^(PPHTransactionResponse *response) {

                                                                     [weakSelf gotoPaymentCompleteScreenWithResponse:response];

                                                                 }];

@ppmtscory
Copy link
Contributor

Are you referring to the reader displaying the Tap, Swipe, Insert options? This would be due to calling [[PayPalHereSDK sharedTransactionManager] activateReaderForPayments:NULL];. Try commenting out that line for keyed entry testing and see if that takes care of what you are seeing.

@PaterB
Copy link
Author

PaterB commented Apr 25, 2016

The code.
[[PayPalHereSDK sharedTransactionManager] activateReaderForPayments:NULL];
is only in enableContactlessButtonPressed
The code is never called.

@ppmtscory
Copy link
Contributor

Where are you putting your code and what code are you using so that I can try to reproduce and help you out?

@PaterB
Copy link
Author

PaterB commented Apr 26, 2016

Hi, all the codes are untouched, it's from the sample app.
I call the process payment function immediately after I key in the amount.

@ppmtscory
Copy link
Contributor

Where are you putting your code for the key entry and then how are you submitting it after typing the amount? In order to assist you with what you're seeing, I need to be able to reproduce it so I can adjust things and let you know what to do differently. Please let me know code samples and where in the app exactly these code samples are placed.

@PaterB
Copy link
Author

PaterB commented Apr 26, 2016

Hi sorry for that.

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; {
    NSString *amountString = [textField.text stringByReplacingCharactersInRange:range withString:string];

    [self.invoice removeAllItems];

    if (amountString.length) {
        [self.invoice addItemWithId:@"1"
                           detailId:nil
                               name:@"SimpleItem"
                           quantity:[NSDecimalNumber one]
                          unitPrice:[NSDecimalNumber decimalNumberWithString:amountString]
                            taxRate:nil
                        taxRateName:nil];
        [self test];
    }

    //[self updateUIWithActiveReader];

    return YES;
}
- (void) test
{
    __weak typeof(self) weakSelf = self;        //ePPHPaymentMethodKey
    // STEP #3 to take an EMV payment.
    [[PayPalHereSDK sharedTransactionManager] processPaymentUsingUIWithPaymentType:ePPHPaymentMethodKey
                                                                 completionHandler:^(PPHTransactionResponse *response) {

                                                                     [weakSelf gotoPaymentCompleteScreenWithResponse:response];

                                                                 }];
}

@ppmtscory
Copy link
Contributor

Thanks. I'll take a look and get back to you.

@ppmtscory
Copy link
Contributor

ppmtscory commented Apr 26, 2016

@PaterB I see what you're seeing now. One issue is that you are not populating card data for the manual entry. Manual entry is not yet available on the EMV reader so you have to capture that data yourself and assign it to PPHCardNotPresentData. This is what the SDK uses when you specify the payment type of ePPHPaymentMethodKey.

@PaterB
Copy link
Author

PaterB commented Apr 29, 2016

Hi,
How do I obtain a BN code and can you give me an example of the returnurl in the post form? Thanks

@PaterB
Copy link
Author

PaterB commented May 3, 2016

I have another issue here. Our app is integrated with payanywhere and seems like some of the library is clashing. What can we do to avoid this?

Ld /Users/name/Library/Developer/Xcode/DerivedData/App-axjvnhywheanachdaiffcmmlzuov/Build/Intermediates/ArchiveIntermediates/App/IntermediateBuildFilesPath/App.build/Release-iphoneos/App.build/Objects-normal/arm64/App normal arm64
    cd /Users/name/Desktop/code
    export IPHONEOS_DEPLOYMENT_TARGET=7.1
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk -L/Users/name/Library/Developer/Xcode/DerivedData/App-axjvnhywheanachdaiffcmmlzuov/Build/Intermediates/ArchiveIntermediates/App/BuildProductsPath/Release-iphoneos -L/Users/name/Desktop/code -L/Users/name/Dropbox/Software/1.230/Pos/Library -L\\\"/Users/name/Desktop/code/ZBarSDK\\\" -L/Users/name/Dropbox/Software/1.230/Pos/ZBarSDK -L/Users/name/Dropbox/Software/1.260/Pos -L/Users/name/Desktop/code/Pos -F/Users/name/Library/Developer/Xcode/DerivedData/App-axjvnhywheanachdaiffcmmlzuov/Build/Intermediates/ArchiveIntermediates/App/BuildProductsPath/Release-iphoneos -F/Users/name/Desktop/code/Pos -F/Users/name/Desktop/code -F/Users/name/Dropbox/Software/1.230 -filelist /Users/name/Library/Developer/Xcode/DerivedData/App-axjvnhywheanachdaiffcmmlzuov/Build/Intermediates/ArchiveIntermediates/App/IntermediateBuildFilesPath/App.build/Release-iphoneos/App.build/Objects-normal/arm64/App.LinkFileList -miphoneos-version-min=7.1 -dead_strip -lxml2 -ObjC -lstdc++ -all_load -fobjc-arc -fobjc-link-runtime -framework MessageUI -framework Accelerate -lc++ -framework Crashlytics -lz -lstdc++.6 -framework MapKit -framework iZettleSDK -framework AddressBook -framework AddressBookUI -framework CoreBluetooth -framework PowaPOSSDK -framework OpenGLES -framework CoreText -framework QuartzCore -framework MediaPlayer -framework AVFoundation -framework AudioToolbox -framework ExternalAccessory -framework CoreLocation -lc++ -framework Security -lsqlite3.0 -framework CoreTelephony -lz -framework Security -framework DropboxSDK -liconv -framework CoreVideo -framework CoreMedia -lPods-TakePayment -framework StoreKit -framework CoreData -framework MobileCoreServices -lsqlite3 -lz.1.2.5 -framework SystemConfiguration -framework PayPalHereSDK -framework CFNetwork -framework UIKit -framework Foundation -framework Fabric -lPayAnywhere -framework CoreGraphics -lGoogleAnalyticsServices1 -lBXSDK -framework TyroClientUniversal -framework StarIO -lHelpshift -Xlinker -dependency_info -Xlinker /Users/name/Library/Developer/Xcode/DerivedData/App-axjvnhywheanachdaiffcmmlzuov/Build/Intermediates/ArchiveIntermediates/App/IntermediateBuildFilesPath/App.build/Release-iphoneos/App.build/Objects-normal/arm64/App_dependency_info.dat -o /Users/name/Library/Developer/Xcode/DerivedData/App-axjvnhywheanachdaiffcmmlzuov/Build/Intermediates/ArchiveIntermediates/App/IntermediateBuildFilesPath/App.build/Release-iphoneos/App.build/Objects-normal/arm64/App

ld: warning: directory not found for option '-L/Users/name/Dropbox/Software/1.230/Pos/Library'
ld: warning: directory not found for option '-L\"/Users/name/Desktop/code/ZBarSDK\"'
ld: warning: directory not found for option '-L/Users/name/Dropbox/Software/1.230/Pos/ZBarSDK'
ld: warning: directory not found for option '-L/Users/name/Dropbox/Software/1.260/Pos'
ld: warning: directory not found for option '-F/Users/name/Dropbox/Software/1.230'
ld: warning: ignoring file /Users/name/Desktop/code/libPods-TakePayment.a, file was built for archive which is not the architecture being linked (arm64): /Users/name/Desktop/code/libPods-TakePayment.a
duplicate symbol __ZN19DecodeMagController5ResetEbb in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(DecodeMagController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(DecodeMagController.o)
duplicate symbol __ZN19DecodeMagControllerC1Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(DecodeMagController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(DecodeMagController.o)
duplicate symbol __ZN19DecodeMagControllerD1Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(DecodeMagController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(DecodeMagController.o)
duplicate symbol __ZN19DecodeMagController12InputDbLevelEd in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(DecodeMagController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(DecodeMagController.o)
duplicate symbol __ZN19DecodeMagController15SetTimeoutLimitEi in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(DecodeMagController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(DecodeMagController.o)
duplicate symbol __ZN19DecodeMagController19SetIgnoreInitSecondEd in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(DecodeMagController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(DecodeMagController.o)
duplicate symbol __ZN19DecodeMagController11GetWavStateEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(DecodeMagController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(DecodeMagController.o)
duplicate symbol __ZN19DecodeMagController38SetFlagUseMultiIntervalToDetectSwipingEb in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(DecodeMagController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(DecodeMagController.o)
duplicate symbol _OBJC_CLASS_$_SwiperBase64 in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperBase64.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperBase64.o)
duplicate symbol _OBJC_METACLASS_$_SwiperBase64 in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperBase64.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperBase64.o)
duplicate symbol __Z13getCRC8_CCITTPhi in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(CRC.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(CRC.o)
duplicate symbol __Z22interruptionListenerMrPvj in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_IVAR_$_MagRecorder.magRecorderState in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_IVAR_$_MagRecorder.updateState in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol __Z37propListenerMr_part1_AudioRouteChangeP11MagRecorder in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol __Z40propListenerMr_part2_AudioInputAvailableP11MagRecorder in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol __Z14propListenerMrPvjjPKv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_IVAR_$_MagRecorder.recorderAq in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_IVAR_$_MagRecorder.fskController in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_IVAR_$_MagRecorder.myThread in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_IVAR_$_MagRecorder.flagListenerAudioRouteChange in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_IVAR_$_MagRecorder.flagListenerAudioInputAvailable in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_IVAR_$_MagRecorder.flagIndicateDecodeStart in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_IVAR_$_MagRecorder.flagManchesterPartDecode in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_IVAR_$_MagRecorder.flagAllPartDecode in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_IVAR_$_MagRecorder.wavBuffer in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_IVAR_$_MagRecorder.flagUseFsk in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_IVAR_$_MagRecorder.swiperMode in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_CLASS_$_MagRecorder in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_METACLASS_$_MagRecorder in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol _OBJC_IVAR_$_MagRecorder.debugFlag in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MagRecorder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MagRecorder.o)
duplicate symbol __Z32audioRouteChangeListenerCallbackPvjjPKv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.detectDeviceChange in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.lastSuccessDate in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.isIP5_2 in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.isIPad_Mini in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.isFirstGetKsnAfterPlugIn in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.isDevicePlugged in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.isRunning in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.isStarted in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.stopCount in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.retryCntAudioQueueStart in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.wrongRouteCount_Headphone in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.swiperMode in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.swiperState in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.powerupWaitTime in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.ksnPowerupWaitTime in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.swipeTimeoutSetting in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.initAudioRequiredTime in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.waitTimeBetweenSwipes in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.internalPowerGain in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.blockingCommunication in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.blockFirmwareVersion in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.blockBatteryVoltage in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.isSwiperControllerClosed in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.playerAq in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.magRecorder in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.flagHandleiOS5Bug in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_IVAR_$_SwiperController.delegate in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_CLASS_$_SwiperController in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_METACLASS_$_SwiperController in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperController.o)
duplicate symbol _OBJC_CLASS_$_SwiperUIDeviceHardware in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperUIDeviceHardware.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperUIDeviceHardware.o)
duplicate symbol _OBJC_METACLASS_$_SwiperUIDeviceHardware in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperUIDeviceHardware.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperUIDeviceHardware.o)
duplicate symbol _OBJC_CLASS_$_MyLogger in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MyLogger.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MyLogger.o)
duplicate symbol _OBJC_METACLASS_$_MyLogger in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MyLogger.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MyLogger.o)
duplicate symbol _OBJC_METACLASS_$_MySettings in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MySettings.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MySettings.o)
duplicate symbol _OBJC_CLASS_$_MySettings in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(MySettings.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(MySettings.o)
duplicate symbol __Z17downSample_betterPsiS_Pi in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(DownSample.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(DownSample.o)
duplicate symbol _OBJC_IVAR_$_FskController.ucResult in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskController.o)
duplicate symbol _OBJC_IVAR_$_FskController.iResultLen in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskController.o)
duplicate symbol _OBJC_IVAR_$_FskController.usedDecodeMethod in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskController.o)
duplicate symbol _OBJC_IVAR_$_FskController.decodeMode in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskController.o)
duplicate symbol _OBJC_IVAR_$_FskController.state in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskController.o)
duplicate symbol _OBJC_IVAR_$_FskController.wavBuffer in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskController.o)
duplicate symbol _OBJC_IVAR_$_FskController.decodeSource in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskController.o)
duplicate symbol _OBJC_CLASS_$_FskController in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskController.o)
duplicate symbol _OBJC_METACLASS_$_FskController in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskController.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskController.o)
duplicate symbol __ZN10FskDecoder8L_F1_SINE in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskDecoder.o)
duplicate symbol __ZN10FskDecoder8L_F1_COSE in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskDecoder.o)
duplicate symbol __ZN10FskDecoder8L_F2_SINE in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskDecoder.o)
duplicate symbol __ZN10FskDecoder8L_F2_COSE in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskDecoder.o)
duplicate symbol __ZN10FskDecoderC1Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskDecoder.o)
duplicate symbol __ZN10FskDecoderD2Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskDecoder.o)
duplicate symbol __ZN10FskDecoderD1Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskDecoder.o)
duplicate symbol __ZN10FskDecoder9InitparamEPhi in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskDecoder.o)
duplicate symbol __ZN10FskDecoder10fsk_decodeEPsiPhii in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskDecoder.o)
duplicate symbol __ZN10FskDecoder11fsk_procBitEs in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(FskDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(FskDecoder.o)
duplicate symbol __ZN20SwiperPowerGenerator16AQBufferCallbackEPvP16OpaqueAudioQueueP16AudioQueueBuffer in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGenerator13isRunningProcEPvP16OpaqueAudioQueuej in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGeneratorC1Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGeneratorD1Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGenerator10StartQueueEbfb in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGenerator17SetGainForDiffCmdEf in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGenerator13SetupNewQueueEf in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGenerator9StopQueueEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGenerator8SoftStopEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGenerator7SetGainEf in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGenerator26SetFlagRecordReallyStartedEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGenerator13SetSwiperModeEi in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGenerator13SetSignalFreqEi in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGenerator21SetSignalFreqDurationEi in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGenerator13GetSignalFreqEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGenerator21GetSignalFreqDurationEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperPowerGenerator10GetLifeSigEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperPowerGenerator.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperPowerGenerator.o)
duplicate symbol __ZN20SwiperSignalReceiver23ComputeRecordBufferSizeEPK27AudioStreamBasicDescriptionf in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver11inputBuff_1E in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver11inputBuff_2E in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver11inputBuff_3E in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver11inputBuff_4E in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver12outputBuff_1E in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver12outputBuff_2E in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver12outputBuff_3E in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver12outputBuff_4E in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver10MIBH_part3EPS_P16AudioQueueBufferPPsPi in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver12MIBH_part3_1EPdS0_i in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver10MIBH_part4EPS_ in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver10MIBH_part8EPS_ in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver20MyInputBufferHandlerEPvP16OpaqueAudioQueueP16AudioQueueBufferPK14AudioTimeStampjPK28AudioStreamPacketDescription in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiverC2Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiverC1Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiverD2Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver8SoftStopEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver10StopRecordEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiverD1Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver23CopyEncoderCookieToFileEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver16SetupAudioFormatEj in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver11StartRecordEPK10__CFString in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver9SoftStartEPK10__CFString in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver12SetWavBufferEP9WavBuffer in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver29SetDecodeMagControllerTimeoutEd in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver38SetDecodeMagControllerIgnoreInitSecondEd in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver53SetDecodeMagControllerUseMultiIntervalToDetectSwipingEb in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver17SetPowerGeneratorEP20SwiperPowerGenerator in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver17GetPowerGeneratorEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver14SetFskRequiredEb in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN20SwiperSignalReceiver22GetDecodeMagControllerEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperSignalReceiver.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperSignalReceiver.o)
duplicate symbol __ZN9WavBufferC1Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(WavBuffer.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(WavBuffer.o)
duplicate symbol __ZN9WavBuffer5ClearEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(WavBuffer.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(WavBuffer.o)
duplicate symbol __ZN9WavBufferD1Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(WavBuffer.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(WavBuffer.o)
duplicate symbol __ZN9WavBuffer12CreateBufferEi in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(WavBuffer.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(WavBuffer.o)
duplicate symbol __ZN9WavBuffer16InputCircularBufEPsi in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(WavBuffer.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(WavBuffer.o)
duplicate symbol __ZN9WavBuffer3LogEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(WavBuffer.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(WavBuffer.o)
duplicate symbol __ZN9WavBuffer18CircularBuf2BufferEi in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(WavBuffer.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(WavBuffer.o)
duplicate symbol __ZN9WavBuffer12GetBufferPtrEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(WavBuffer.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(WavBuffer.o)
duplicate symbol __ZN9WavBuffer9IsCreatedEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(WavBuffer.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(WavBuffer.o)
duplicate symbol __ZN9WavBuffer33RemoveAllBuffersMemoryContentOnlyEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(WavBuffer.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(WavBuffer.o)
duplicate symbol _OBJC_CLASS_$_SwiperUtilities in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperUtilities.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperUtilities.o)
duplicate symbol _OBJC_METACLASS_$_SwiperUtilities in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SwiperUtilities.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SwiperUtilities.o)
duplicate symbol _OBJC_METACLASS_$_Base64Coder in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(Base64Coder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(Base64Coder.o)
duplicate symbol _OBJC_CLASS_$_Base64Coder in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(Base64Coder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(Base64Coder.o)
duplicate symbol __ZN28AE_ManchesterRealTimeDecoderC2Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterRealTimeDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterRealTimeDecoder.o)
duplicate symbol __ZN28AE_ManchesterRealTimeDecoder5ResetEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterRealTimeDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterRealTimeDecoder.o)
duplicate symbol __ZN28AE_ManchesterRealTimeDecoderC1Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterRealTimeDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterRealTimeDecoder.o)
duplicate symbol __ZN28AE_ManchesterRealTimeDecoderD2Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterRealTimeDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterRealTimeDecoder.o)
duplicate symbol __ZN28AE_ManchesterRealTimeDecoderD1Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterRealTimeDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterRealTimeDecoder.o)
duplicate symbol __ZN28AE_ManchesterRealTimeDecoder25addFallingOrRaisingBufferE36AE_ManchesterRealTimeDecoderEdgeType in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterRealTimeDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterRealTimeDecoder.o)
duplicate symbol __ZN28AE_ManchesterRealTimeDecoder11InputSampleEs in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterRealTimeDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterRealTimeDecoder.o)
duplicate symbol __ZN28AE_ManchesterRealTimeDecoder9GetPacketEPhi in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterRealTimeDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterRealTimeDecoder.o)
duplicate symbol __ZN28AE_ManchesterRealTimeDecoder21SetEndDetectingMethodE46AE_ManchesterRealTimeDecoderEndDetectingMethod in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterRealTimeDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterRealTimeDecoder.o)
duplicate symbol __ZN28AE_ManchesterRealTimeDecoder11SetDataRateEi in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterRealTimeDecoder.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterRealTimeDecoder.o)
duplicate symbol __ZN18AE_ManchesterState11SetDataRateEi in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterState.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterState.o)
duplicate symbol __ZN18AE_ManchesterState5ResetEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterState.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterState.o)
duplicate symbol __ZN18AE_ManchesterStateC1Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterState.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterState.o)
duplicate symbol __ZN18AE_ManchesterStateD1Ev in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterState.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterState.o)
duplicate symbol __ZN18AE_ManchesterState10ReceiveBitEh in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterState.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterState.o)
duplicate symbol __ZN18AE_ManchesterState19CheckPacketCompleteEv in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterState.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterState.o)
duplicate symbol __ZN18AE_ManchesterState11ChangeStateE22AE_ManchesterStateEnum in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterState.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterState.o)
duplicate symbol __ZN18AE_ManchesterState9GetPacketEPhi in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterState.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterState.o)
duplicate symbol __ZN18AE_ManchesterState21SetEndDetectingMethodE36AE_ManchesterStateEndDetectingMethod in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(AE_ManchesterState.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(AE_ManchesterState.o)
duplicate symbol _OBJC_METACLASS_$_SW_CheckFormat in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SW_CheckFormat.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SW_CheckFormat.o)
duplicate symbol _OBJC_CLASS_$_SW_CheckFormat in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(SW_CheckFormat.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(SW_CheckFormat.o)
duplicate symbol _OBJC_METACLASS_$_decryptAPI in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(decryptAPI.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(decryptAPI.o)
duplicate symbol _OBJC_CLASS_$_decryptAPI in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(decryptAPI.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(decryptAPI.o)
duplicate symbol _OBJC_IVAR_$_CSwiperManager.m_sTrack1 in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(CSwiperManager.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(CSwiperManager.o)
duplicate symbol _OBJC_IVAR_$_CSwiperManager.m_sTrack2 in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(CSwiperManager.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(CSwiperManager.o)
duplicate symbol _OBJC_IVAR_$_CSwiperManager.m_sTrack3 in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(CSwiperManager.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(CSwiperManager.o)
duplicate symbol _OBJC_IVAR_$_CSwiperManager.m_sMAC in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(CSwiperManager.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(CSwiperManager.o)
duplicate symbol _OBJC_IVAR_$_CSwiperManager.m_sLastError in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(CSwiperManager.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(CSwiperManager.o)
duplicate symbol _OBJC_CLASS_$_CSwiperManager in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(CSwiperManager.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(CSwiperManager.o)
duplicate symbol _OBJC_METACLASS_$_CSwiperManager in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(CSwiperManager.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(CSwiperManager.o)
duplicate symbol _OBJC_CLASS_$_DUKPTServer in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(DUKPTServer.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(DUKPTServer.o)
duplicate symbol _OBJC_METACLASS_$_DUKPTServer in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(DUKPTServer.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(DUKPTServer.o)
duplicate symbol _OBJC_CLASS_$_DES_SC in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(DES_SC.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(DES_SC.o)
duplicate symbol _OBJC_METACLASS_$_DES_SC in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(DES_SC.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(DES_SC.o)
duplicate symbol _OBJC_CLASS_$_TripleDES_SC in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(TripleDES_SC.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(TripleDES_SC.o)
duplicate symbol _OBJC_METACLASS_$_TripleDES_SC in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(TripleDES_SC.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(TripleDES_SC.o)
duplicate symbol _OBJC_IVAR_$_decryptService.cswiper in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(decryptService.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(decryptService.o)
duplicate symbol _OBJC_IVAR_$_decryptService.result1 in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(decryptService.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(decryptService.o)
duplicate symbol _OBJC_IVAR_$_decryptService.result2 in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(decryptService.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(decryptService.o)
duplicate symbol _OBJC_IVAR_$_decryptService.errorStr in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(decryptService.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(decryptService.o)
duplicate symbol _OBJC_CLASS_$_decryptService in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(decryptService.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(decryptService.o)
duplicate symbol _OBJC_METACLASS_$_decryptService in:
    /Users/name/Desktop/code/PayPalHereSDK.framework/PayPalHereSDK(decryptService.o)
    /Users/name/Desktop/code/Pos/libPayAnywhere.a(decryptService.o)
ld: 281 duplicate symbols for architecture arm64

@ppmtscory
Copy link
Contributor

@PaterB it looks like you're clashing with the Magtek libraries. We do offer the NOHW version of our SDK in this repo if you want to remove those libraries from our SDK. Keep in mind, however, then you'll be responsible for handling all communications with the Magtek reader in your App as it won't be handled through our SDK.

@PaterB
Copy link
Author

PaterB commented May 10, 2016

Sorry, could you provide me a detailed way of downloading the NOHW version?
We tried emailing paypal partner program via the website, however they haven't got back to us.
Upon submission it shows page does not exists, could you provide us their exact email?

@ppmtscory
Copy link
Contributor

For your BN code request, you'll need to reach out to the email address that's at the bottom of the ReadME next to the MFi program information.

@PaterB
Copy link
Author

PaterB commented May 16, 2016

Hi we manage to build custom framework and it is able to compile now. Hopefully it doesn't affect the core functionality.
We are still having issues in logging in to get approval.
Upon login in with our test account, I follow the steps and redirect back to our app.
Finally we get the token string.

sdk_token=sandbox:WyJBMDE1UkRmRC5yT25uMmltWDREcVFVY3BYa3JSVEdwWlE4ekNoaElKQU9xa1BrdyIsIjI4ODAwIiwiaHR0cHM6Ly9jbG91ZC5tb2JpLXBvcy5jb20vcGF5cGFsaXBuL3BheXBhbF9oZXJlPyZ0b2tlbj1vSVBJNXlCZDl0bC04MXg4bzhBdmhHOFRDU3phb0pUS0N2WTNoLTBJYWpDM2c5MnZsRF9qTkVFUHRIVWp1ZUN2TmVBMk5CRnRpNmRrZ08xaEJNVnRMZ08wckRqV1gzd3lMNDhoZmlTZFJKeFgwYTZfbzdZYVVjTnVMdnMiXQ==

However after that, the app crashes. I'm not too sure if this is caused by lacking a partnerid. Thanks.

*** Assertion failure in -[PPHAccessAccount fetchMerchantInfoAndThen:], /Users/mpavlinsky/Projects/PayPal/internal-sdk-dist/source/PayPalHereSDK/Core/PPHAccessAccount.m:156

@ppmtscory
Copy link
Contributor

@PaterB this usually has to do with the account setup and/or the options selected on the REST Application. It would have nothing to do with the Partner ID. I need to get some account information from you to make sure that everything is set up correctly. Can you please send me the email address of the accounts that you are using via the email address above? Just put attn: Cory in the email and I will be able to pick it up. I'll need the email address of the production account you are using to login at developer.paypal.com so that I can see the REST Apps that you created for this.

@PaterB
Copy link
Author

PaterB commented May 16, 2016

I've send the email to pph-sdk@paypal.com

@ppmtscory
Copy link
Contributor

Yes, I see it. I'll take a look, thank you.

@ppmtscory
Copy link
Contributor

@PaterB I modified your REST App for sandbox to include the right information. The relevant scopes weren't selected in the REST App. Aside from the PPH option, you'll also need to ensure that you have email, phone, and the address fields selected. Those are found under the Log In With PayPal section once it and the Address Information sections are expanded. I've configured your sandbox app for you, however, you'll need to make sure that you do the same for your Live app when you're ready.

@PaterB
Copy link
Author

PaterB commented May 17, 2016

Hi, thanks.
However I'm still receiving the same error.

2016-05-17 23:20:48.371[46870:3576484] *** Assertion failure in -[PPHAccessAccount fetchMerchantInfoAndThen:], /Users/mpavlinsky/Projects/PayPal/internal-sdk-dist/source/PayPalHereSDK/Core/PPHAccessAccount.m:156
2016-05-17 23:21:02.484[46870:3576484] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'OpenID userInfo request failed to return email. Perhaps the scope was invalid?'

@ppmtscory
Copy link
Contributor

Everything is set on your Sandbox application. Did you go through the onboarding again with the merchant account so that the appropriate permissions can be granted? You'll need to to through the flow again so that a new auth code can be generated and then subsequent refresh token. If you didn't do this, then the tokens associated with that account will not have the correct permissions for what we're asking for when setting up the merchant in the SDK.

@PaterB
Copy link
Author

PaterB commented May 18, 2016

Hi,
I believe there's something wrong with this url.

https://www.sandbox.paypal.com/webapps/auth/protocol/openidconnect/v1/authorize?
scope=https://uri.paypal.com/services/paypalhere email address https://uri.paypal.com/services/paypalattributes/business &response_type=code
&redirect_uri={redirectUri}
&client_id={clientId}

Can you explain to me what should I put in the scope?
Why is there an email address in between?

I'm leaving it as https://uri.paypal.com/services/paypalhere
Tried going through on boarding process again, then grant permission, still crash with the same error.

@ppmtscory
Copy link
Contributor

ppmtscory commented May 18, 2016

You need to use all those scopes. Essentially it's 4 different scopes all separated by a space...

https://uri.paypal.com/services/paypalhere
email
address
https://uri.paypal.com/services/paypalattributes/business

All those scopes are needed as that's the information that's grabbed from the merchant account by the SDK. Since you are not using those scopes, the SDK can't grab the information, and therefore you get the crash. Your redirect_uri is where you want them to be directed to after they provide permissions and must match what you have set in your REST App. The client_id is from that same REST App.

@PaterB
Copy link
Author

PaterB commented May 19, 2016

Hi, seems to be good now. Finally.
We do not have a card reader, how do we populate PPHCardNotPresentData and pass into it?

@ppmtscory
Copy link
Contributor

Take a look at our older sample app here for more information on that. Since you're not using the reader, you'll just have to manually call userDidSelectPaymentMethod and pass it in the payment type of ePPHPaymentMethodKey.

@PaterB
Copy link
Author

PaterB commented May 19, 2016

Finally! thanks, i'll play around with it.

@PaterB
Copy link
Author

PaterB commented May 24, 2016

Hi, how do we modify the page whereby it shows 'Payment Complete, would you like a receipt?

@ppmtscory
Copy link
Contributor

You won't be able to modify the receipt screen as it's implemented to appease EMV certification requirements.

@PaterB
Copy link
Author

PaterB commented May 24, 2016

But we need to remove the test alert option.

@ppmtscory
Copy link
Contributor

What test alert option are you speaking of?

@ppmtscory
Copy link
Contributor

Ah, I think you're referring to the Sample Alert option. This option is not shown by default. It's only present in the sample app to simply show that it's something that can be done.

@PaterB
Copy link
Author

PaterB commented Jun 5, 2016

I'm doing the integration by copying codes from the sample app, so am I doing it wrong?

@ppmtscory
Copy link
Contributor

If you don't want the sample alert option to be there, then you'd just not copy that portion from the sample app. The code within getReceiptOptions() is what is putting this sample alert on the receipt page.

@PaterB
Copy link
Author

PaterB commented Jun 7, 2016

Got it, thanks.
We are now trying to refresh the token, however fail to refresh it when it expires.
Before drilling into the problem, do you have any way we could manually make the token expire without waiting for 8 hours?

@ppmtscory
Copy link
Contributor

Hmm.. I'm not aware of a way to make it expire early but you could simply use a bad value for the access token to trigger an invalid token error if that's what you're looking for. There's no way to modify the expiry value of the token itself.

@PaterB
Copy link
Author

PaterB commented Jun 8, 2016

Alright, let me describe the issue with refreshing token.

I'm using this as refresh token.
MDHVoew4uJOOJExxxxxxxxxxxxxt9MibaaqYFOt1vt95YWlgrp9fbM
posting to this url
https://www.sandbox.paypal.com/webapps/auth/protocol/openidconnect/v1/tokenservice
with my client id
AZHfFgetsCo-eyExxxxxxxxxxxxxxxxzx0B06qh-VzJjN6EutkIYS
and secret id
ENepdPye0BIb0BMRxxxxxxxxxxxxxO9cpXjRcY7PETgUAgOG

and this is what I got back.
sdk_token=sandbox:WyJBMDE1cVVPd2hsSnVrLUpNTnZUNzdIU3gwYmpheE8uZlZreEdaei52Rm1ObjBtdyIsIjI4ODAwIiwiaHR0cHM6Ly9jbG91ZxxxxxxxxxxxxxxUmhTNVFsdnN0dWZWblU5cnQzT3EwSlk1SFlva3dIOGpRZlZPUkZfdGNXWXlkcGRGaHNyM2dpUxxxxxxxxxxxxxxxdnQ5NVlXbGdycDlmYk0iXQ==

and it seems like the access token is always the same.

@ppmtscory
Copy link
Contributor

That sounds accurate. Since the token isn't actually expired yet, it's re-used. Can you modify that token string to be invalid and trigger the invalid token error that way? What is the issue you're seeing with the refreshing anyway? Perhaps I can help with that...

@PaterB
Copy link
Author

PaterB commented Jun 10, 2016

The token is already invalid, but by requesting it's returning me the same.

@ppmtscory
Copy link
Contributor

The only time that the access token will return the same value from the call to retrieve it, is if it's still within it's 8 hour expiry window. Your composite token that you posted above has the following (with some masking)...

["A015qUOwhlJxxxxxxxxxxxvFmNn0mw","28800","https://xxxxxxxx.com/paxxxxpn/paypal_here?&token=MDHVoew4uJOOJEIGTarPaUfp7rVb-cyZLjxLQRhS5Qlvstuxxxxxxxxxxxxxxxxx_tcWYydpdFhsr3giSK5Izt9MibaaqYFOt1vt95YWlgrp9fbM"]

The first value that starts with A015 is the access token and that will only be the same if you are within the 28800 seconds (8 hour) window.

I just did a call to the /tokenservice endpoint with your credentials you had above (before editing them) and below is what I got back and you can see that the access token is, indeed, different.

{"token_type":"Bearer","expires_in":"28800","access_token":"A015YJSFSKxxxxxxxxxxxxzPKQ173Q"}

@PaterB
Copy link
Author

PaterB commented Jun 10, 2016

Yes, I think only after the 8 hours, i will get a different token, if not I will get the same.
So right now this is the token I'm receving, however when I initialize it, it still fail.

A015CXhKYnTFdW0G0iZX8fFf12vZ6cULDlweNzJo.v6CbBw
the entire token store in user default.

sdk_token=sandbox:WyJBMDE1Q1hoS1luVEZkVzBHMGlaWDhmRmYxMnZaNmNVTERsd2VOekpvLnY2Q2JCdyIsIjI4ODAwIiwiaHR0cHM6Ly9jbG91ZC5tb2JpLXBvcy5jb20vcGF5cGFsaXBuL3BheXBhbF9oZXJlPyZ0b2tlbj1NREhWb2V3NHVKT09KRUlHVGFyUGFVZnA3clZiLWN5WkxqeExRUmhTNVFsdnN0dWZWblU5cnQzT3EwSlk1SFlva3dIOGpRZlZPUkZfdGNXWXlkcGRGaHNyM2dpU0s1SXp0OU1pYmFhcVlGT3QxdnQ5NVlXbGdycDlmYk0iXQ==

@ppmtscory
Copy link
Contributor

ppmtscory commented Jun 10, 2016

Hmm... that's strange as it seems the token expired early. I just created a new one based on the refresh token and that initialized just fine. If this new token, which you can get by running the call again, fails after 3 hrs, then please send the account through the onboarding again to generate a new auth_code and turn that into a new refresh token to store. I'm wondering if there was just a sandbox anomaly with the first generation of that refresh token.

@PaterB
Copy link
Author

PaterB commented Jun 11, 2016

I got the EMV chip reader already, however i fail to upgrade the software.
When it prompts for software upgrade, the further I could go is step 5 out of 7.
Then it shows failed to upgrade, when I click on retry it fails immediately.
Then I factory reset the chip reader, it brings be back to step 5 then fail again.

I read from another thread saying that we need to point it to production account.
I do not have one, how could I test it? Thanks.

@ppmtscory
Copy link
Contributor

Yes, you won't be able to upgrade the reader in the sandbox environment. You'll need to use a Production account for any testing with the EMV reader. I will reach out to you via email to see how we can help getting you set up with a Production account.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants