Comments (19)
Hi @dmitry-blackwave ,
Adyen has released a new version today 2.8.3 which solves the above problem but ends up with another,
Then i added the implementation for PaymentControllerDelegate in AdyenReactNative.swift which was missing as per the new migration given below
https://github.com/Adyen/adyen-ios/blob/master/MIGRATION.md
func provideAdditionalDetails(_ additionalDetails: AdditionalPaymentDetails, for paymentMethod: PaymentMethod, detailsHandler: @escaping Completion<[PaymentDetail]>){
}
Then i removed the following lines from the Podfile
post_install do |installer| installer.pods_project.targets.each do |target| if target.name == 'Adyen' target.build_configurations.each do |config| config.build_settings['SWIFT_VERSION'] = '5.0.1' end end end end
and then ran 'pod update' which ended with these libraries version,
Installing Adyen 2.8.3 (was 2.8.1)
Installing Adyen3DS2 2.1.0-rc.1 (was 0.9.6)
Installing AdyenInternal 2.8.3 (was 2.8.1)
Using AdyenReactNative (1.2.0)
Then moved the ios Version for AdyenReactNativeProject to 11.3 to avoid armv7 missing architecture.
After this i replaced the Adyen framework in your nodemodules ios folder with the newly swift 5 compiled version ,linked the project manually and was able to proceed but while building at the final stage I am getting these errors,
`
Showing Recent Messages
👎 Could not find auto-linked library 'swiftCoreGraphics'
👎 Could not find auto-linked library 'swiftFoundation'
👎 Could not find auto-linked library 'swiftMetal'
👎 Could not find auto-linked library 'swiftDarwin'
👎 Could not find auto-linked library 'swiftUIKit'
👎 Could not find auto-linked library 'swiftCoreFoundation'
👎 Could not find auto-linked library 'swiftObjectiveC'
👎 Could not find auto-linked library 'swiftDispatch'
👎 Could not find auto-linked library 'swiftCoreImage'
👎 Could not find auto-linked library 'swiftQuartzCore'
👎 Could not find auto-linked library 'swiftCore'
👎 Could not find auto-linked library 'swiftSwiftOnoneSupport'
👎 Undefined symbol: Foundation.URL._bridgeToObjectiveC() -> __C.NSURL
👎 Undefined symbol: type metadata accessor for Foundation.URL
👎 Undefined symbol: value witness table for Builtin.UnknownObject
👎 Undefined symbol: (extension in Foundation):Swift.Dictionary._bridgeToObjectiveC() -> __C.NSDictionary
👎 Undefined symbol: Swift.Dictionary.init(dictionaryLiteral: (A, B)...) -> [A : B]
👎 Undefined symbol: (extension in Foundation):Swift.String._bridgeToObjectiveC() -> __C.NSString
👎 Undefined symbol: static (extension in Foundation):Swift.String._unconditionallyBridgeFromObjectiveC(__C.NSString?) -> Swift.String
👎 Undefined symbol: Swift.String.init(_builtinStringLiteral: Builtin.RawPointer, utf8CodeUnitCount: Builtin.Word, isASCII: Builtin.Int1) -> Swift.String
👎 Undefined symbol: type metadata for Swift.String
👎 Undefined symbol: protocol witness table for Swift.String : Swift.Hashable in Swift
👎 Undefined symbol: protocol witness table for Swift.String : Swift.Equatable in Swift
👎 Undefined symbol: (extension in Foundation):Swift.Array._bridgeToObjectiveC() -> __C.NSArray
👎 Undefined symbol: generic specialization <Swift.String> of Swift.Array.init(arrayLiteral: A...) -> [A]
👎 Undefined symbol: type metadata accessor for Swift.Array
👎 Undefined symbol: type metadata for Swift.Bool
👎 Undefined symbol: type metadata for Swift.Int
👎 Undefined symbol: Swift.fatalErrorMessage(: Swift.StaticString, _: Swift.StaticString, file: Swift.StaticString, line: Swift.UInt, flags: Swift.UInt32) -> Swift.Never
👎 Undefined symbol: Swift._allocateUninitializedArray(Builtin.Word) -> ([A], Builtin.RawPointer)
👎 Undefined symbol: generic specialization of Swift._allocateUninitializedArray(Builtin.Word) -> ([A], Builtin.RawPointer)
👎 Undefined symbol: Swift.== infix<A where A: Swift.RawRepresentable, A.RawValue: Swift.Equatable>(A, A) -> Swift.Bool
👎 Undefined symbol: protocol descriptor for Swift.Error
👎 Undefined symbol: Swift.print(_: Any..., separator: Swift.String, terminator: Swift.String) -> ()
👎 Undefined symbol: type metadata for Any
👎 Undefined symbol: _swift_FORCE_LOAD$_swiftCoreFoundation
👎 Undefined symbol: _swift_FORCE_LOAD$_swiftCoreGraphics
👎 Undefined symbol: _swift_FORCE_LOAD$_swiftCoreImage
👎 Undefined symbol: _swift_FORCE_LOAD$_swiftDarwin
👎 Undefined symbol: _swift_FORCE_LOAD$_swiftDispatch
👎 Undefined symbol: _swift_FORCE_LOAD$_swiftFoundation
👎 Undefined symbol: _swift_FORCE_LOAD$_swiftMetal
👎 Undefined symbol: _swift_FORCE_LOAD$_swiftObjectiveC
👎 Undefined symbol: _swift_FORCE_LOAD$_swiftQuartzCore
👎 Undefined symbol: _swift_FORCE_LOAD$_swiftUIKit
👎 Undefined symbol: _swift_allocObject
👎 Undefined symbol: _swift_beginAccess
👎 Undefined symbol: _swift_bridgeObjectRelease
👎 Undefined symbol: _swift_bridgeObjectRetain
👎 Undefined symbol: _swift_deallocObject
👎 Undefined symbol: _swift_dynamicCast
👎 Undefined symbol: _swift_endAccess
👎 Undefined symbol: _swift_errorRelease
👎 Undefined symbol: _swift_errorRetain
👎 Undefined symbol: _swift_getExistentialTypeMetadata
👎 Undefined symbol: _swift_getInitializedObjCClass
👎 Undefined symbol: _swift_getObjCClassFromMetadata
👎 Undefined symbol: _swift_getObjCClassMetadata
👎 Undefined symbol: _swift_getTupleTypeMetadata2
👎 Undefined symbol: _swift_getWitnessTable
👎 Undefined symbol: _swift_isaMask
👎 Undefined symbol: _swift_release
👎 Undefined symbol: _swift_retain
👎 Undefined symbol: _swift_unknownObjectRelease
👎 Undefined symbol: _swift_unknownObjectRetain
`
Could you please add the latest swift version of Adyen and help with the above issue.
from adyen-react-native.
I was able to successfully make the adyen ios to work :)
First of all update your react native to version > 0.59.3 and then follow the below steps
Here are the Steps for XCode 10.2.1 & above
- Your PodFile should look like ,
platform :ios, '11.0'
use_frameworks!
target 'Your Target Name' do
pod 'AdyenReactNative', :path => '../node_modules/adyen-react-native'
end
'pod update' would add these libraries ,
Installing Adyen 2.8.3 (was 2.8.1)
Installing Adyen3DS2 2.1.0-rc.1 (was 0.9.6)
Installing AdyenInternal 2.8.3 (was 2.8.1)
Using AdyenReactNative (1.2.0)
- Add the implementation for PaymentControllerDelegate in AdyenReactNative.swift which was missing as per the new migration given below
https://github.com/Adyen/adyen-ios/blob/master/MIGRATION.md
func provideAdditionalDetails(_ additionalDetails: AdditionalPaymentDetails, for paymentMethod: PaymentMethod, detailsHandler: @escaping Completion<[PaymentDetail]>){
}
-
Modify the OS Version for AdyenReactNativeProject to 11.3 to avoid armv7 missing architecture
-
Replace the Adyen framework in your nodemodules ios folder with the newly swift 5 compiled version from the Pods to /node_modules/adyen-react-native/ios like below
- Adyen,Adyen3Ds2,AdyenInternal & its bundle (You can find these files from the Pod folders)
-
Link the project manually
-
As per the facebook link below create a empty swift file and create the bridege in your parent RN project,
Thats it you should be able to get the adyen working in iOS.
from adyen-react-native.
@GituBojan added a Pull request and I have also created a issue for 3.0.0 release as well.
from adyen-react-native.
Installing Adyen 2.8.3 (was 2.8.1)
Installing Adyen3DS2 2.1.0-rc.1 (was 0.9.6)
Installing AdyenInternal 2.8.3 (was 2.8.1)
Using AdyenReactNative (1.2.0)
I could only find Adyen3Ds2 in the pods folder. Adyen, AdyenInternal pods are installed but there is no .framework file inside the pods folders.
By linking them manually you mean a second link within the Linked Frameworks and Libraries even if we install the pod file?
from adyen-react-native.
I figured out that this error message doesn't have anything to do with architectures, the framework search paths are just wrong
Try setting these paths on the AdyenReactNative target
After that Adyen.framework should be compiled and end up in the build directory.
If AdyenInternal can't be found from the Adyen module, add "${BUILD_DIR}/AdyenInternal"
to the Adyen search paths as far as I remember.
from adyen-react-native.
same here.
from adyen-react-native.
After surfing through the internet,I raised a issue with adyen ios sdk as below,
from adyen-react-native.
3.0.0 was released on 18th of June.
Can you create a PR for 2.8.4 with your changes?
from adyen-react-native.
Copy Adyen3DS2 from Pods/Adyen3DS2/Frameworks and then Copy from Products Folder Adyen.Framework,AdyenInternal.framework and AdyenInternal.bundle
from adyen-react-native.
@mkharibalaji do you know how to apply your fixes to the RN60 autolinker... if I manually link it can't find the react bridge... if I don't there's no module...
from adyen-react-native.
@jrwpatterson - Working on it.
from adyen-react-native.
@mkharibalaji I have same problem as @GituBojan can't see Adyen.framework not either AdyenInternal.framework, build is without errors. But when I run app and include adyen-react-native I get error with native module.
from adyen-react-native.
@mkharibalaji Anything new?
from adyen-react-native.
Hi @jannisch,
You are correct !!! I tried several times even cearing of the xcode 10.2 cache but still recieving this error and thats why went on with Manual reference.
Those who are trying with react native > 0.60,please try @jannisch way of setting the Path in Xcode.
from adyen-react-native.
@voslartomas - Please try @jannisch way...
from adyen-react-native.
@jannisch - Can you raise a PR for the Path Fix ??
from adyen-react-native.
@mkharibalaji sure I'll submit a PR as soon as I got time and try everything step by step. So far it only works with the quickstart repo (0.59)
react-native 0.61 even builds automatically and compiles Adyen, however I get the Native module cannot be null error from the first post in this thread. Please let me know if you have any ideas how to fix this
from adyen-react-native.
@jannisch
have you found the solution?
from adyen-react-native.
Hi @jannisch @voslartomas @jrwpatterson VladYakut,
Sorry for the late response.I was busy with other work.
update the AdyenReactNative.podspec file with this for RN 0.60 and do a 'pod install' it should work.
``
require 'json'
package = JSON.parse(File.read('package.json'))
Pod::Spec.new do |s|
s.name = "AdyenReactNative"
s.version = package["version"]
s.summary = package["description"]
s.homepage = "https://github.com/dmitry-blackwave/adyen-react-native#readme"
s.license = "MIT"
s.author = { "author" => "[email protected]" }
s.platform = :ios, "11.0"
s.source = { :git => "https://github.com/author/AdyenReactNative.git" }
s.source_files = "ios/*.{h,m,swift}"
s.requires_arc = true
s.dependency "React"
s.dependency "Adyen","2.8.5"
s.dependency "Adyen/ApplePay","2.8.5"
end
``
In the meanwhile I will raise a PR for this.
from adyen-react-native.
Related Issues (18)
- onActivityResultComplete is undefined HOT 1
- Device Finger Print
- Swift Compiler Errors on iOS implementation HOT 2
- Expo
- Anybody know how to do this with React Native 60 HOT 14
- Updated documentation and examples
- .idea and .gradle folders in /android folder
- Google Pay HOT 1
- Working versions? HOT 4
- Initate payment HOT 1
- Adyen 3.x Support Update HOT 1
- App crash on android HOT 1
- Cannot get property 'lifecycleVersion' on extra properties extension as it does not exist
- problem with ios implementation HOT 2
- Custom integration help / ETA
- Listeners are not unsubscribed HOT 1
- Adyen ios 3.0.0 support HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from adyen-react-native.