Describe the bug
I am trying to build the AppClip target using iOS14.
But the moment I add AWS SDK pods to the target I get this problem:
To Reproduce
Steps to reproduce the behavior:
```
platform :ios, '14.0'
def aws_pods
pod 'AWSCore'
pod 'AWSAuthCore'
pod 'AWSS3'
pod 'AWSCognito'
pod 'AWSCognitoIdentityProvider'
pod 'AWSLambda'
pod 'AWSUserPoolsSignIn'
end
target 'testAppClip' do
use_frameworks!
aws_pods
end
target 'testAppClipClip' do
use_modular_headers!
aws_pods
end
6. Try to build the empty app
Getting error at linking stage.
Link AWSUserPoolsSignIn (arm64)
Showing All Messages
Ld /Users/USER/Library/Developer/Xcode/DerivedData/testAppClip-bjblqohlzvqbbnbwgiadkfzaawxf/Build/Products/Debug-iphoneos/AWSUserPoolsSignIn-framework/AWSUserPoolsSignIn.framework/AWSUserPoolsSignIn normal (in target 'AWSUserPoolsSignIn-framework' from project 'Pods')
cd /Users/USER/Downloads/testAppClip/testAppClip/Pods
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target arm64-apple-ios8.0 -dynamiclib -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk -L/Users/USER/Library/Developer/Xcode/DerivedData/testAppClip-bjblqohlzvqbbnbwgiadkfzaawxf/Build/Products/Debug-iphoneos/AWSUserPoolsSignIn-framework -F/Users/USER/Library/Developer/Xcode/DerivedData/testAppClip-bjblqohlzvqbbnbwgiadkfzaawxf/Build/Products/Debug-iphoneos/AWSUserPoolsSignIn-framework -F/Users/USER/Library/Developer/Xcode/DerivedData/testAppClip-bjblqohlzvqbbnbwgiadkfzaawxf/Build/Products/Debug-iphoneos/AWSAuthCore-framework -F/Users/USER/Library/Developer/Xcode/DerivedData/testAppClip-bjblqohlzvqbbnbwgiadkfzaawxf/Build/Products/Debug-iphoneos/AWSCognitoIdentityProvider-framework -F/Users/USER/Library/Developer/Xcode/DerivedData/testAppClip-bjblqohlzvqbbnbwgiadkfzaawxf/Build/Products/Debug-iphoneos/AWSCognitoIdentityProviderASF-framework -F/Users/USER/Library/Developer/Xcode/DerivedData/testAppClip-bjblqohlzvqbbnbwgiadkfzaawxf/Build/Products/Debug-iphoneos/AWSCore-framework -filelist /Users/USER/Library/Developer/Xcode/DerivedData/testAppClip-bjblqohlzvqbbnbwgiadkfzaawxf/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/AWSUserPoolsSignIn-framework.build/Objects-normal/arm64/AWSUserPoolsSignIn.LinkFileList -install_name @rpath/AWSUserPoolsSignIn.framework/AWSUserPoolsSignIn -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -dead_strip -Xlinker -object_path_lto -Xlinker /Users/USER/Library/Developer/Xcode/DerivedData/testAppClip-bjblqohlzvqbbnbwgiadkfzaawxf/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/AWSUserPoolsSignIn-framework.build/Objects-normal/arm64/AWSUserPoolsSignIn_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -fembed-bitcode-marker -fobjc-arc -fobjc-link-runtime -framework AWSAuthCore -framework AWSCognitoIdentityProvider -framework Foundation -compatibility_version 1 -current_version 1 -Xlinker -dependency_info -Xlinker /Users/USER/Library/Developer/Xcode/DerivedData/testAppClip-bjblqohlzvqbbnbwgiadkfzaawxf/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/AWSUserPoolsSignIn-framework.build/Objects-normal/arm64/AWSUserPoolsSignIn_dependency_info.dat -o /Users/USER/Library/Developer/Xcode/DerivedData/testAppClip-bjblqohlzvqbbnbwgiadkfzaawxf/Build/Products/Debug-iphoneos/AWSUserPoolsSignIn-framework/AWSUserPoolsSignIn.framework/AWSUserPoolsSignIn
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_AWSTask", referenced from:
objc-class-ref in AWSCognitoUserPoolsSignInProvider.o
"_OBJC_CLASS_$_AWSDDLog", referenced from:
objc-class-ref in AWSUserPoolSignUpViewController.o
objc-class-ref in AWSUserPoolsUIOperations.o
"_OBJC_CLASS_$_AWSServiceConfiguration", referenced from:
objc-class-ref in AWSCognitoUserPoolsSignInProvider.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
Expected Behavior
The app should build and run without problems
Unique Configuration
If you are reporting an issue with a unique configuration or where configuration can make a difference in code execution (i.e. Cognito) please provide your configuration. Please make sure to obfuscate sensitive information from the configuration before posting.
Environment(please complete the following information):
Device Information (please complete the following information):
The moment I remove the 'AWSUserPoolsSignIn' pod - the empty targets is built without problems
Currently, the AWS SDK for iOS is only supported for iOS apps, not extensions, app clips, or widgets. I'll flag this as a feature request and we'll update this when we have more information, but I don't currently have any progress to report on this.
@palpatim Would it be possible to get some clarity on "AWS SDK for iOS is only supported for iOS apps, not extensions, app clips, or widgets?" What exactly is not supported? Is it just UI elements or is it the entirety of the authentication workflow? That is a major concern to me going forward because widgets and app clips are part of our roadmap in the very near future. At the very least I want to +1 the need for Cognito to support these.
@corey-plugshare @palpatim I was able to make it work in the end. And unfortunately not sure what happened - after cleaning Derived Data folder and the project itself and re-installing pods - the app was built successfully. There is a however a restriction in size for AppClip for 10mb. So fitting all Amazon pods into the AppClip would be a problem. But Core+Lambda+Cognito + your own code + some of the other libs that you can use : works fine.
Reopening this feature request to allow folks to continue to vote on it.
Most helpful comment
Reopening this feature request to allow folks to continue to vote on it.