How to add cordova as a pod dependency - ios

I'd like to add cordova as a pod dependency, just like I do for other dependencies.
use_frameworks!
target 'MyApp' do
pod 'SwiftyJSON', '~> 2.3'
pod 'Cordova'
end
When I run pod install, I receive: "Unable to find a specification for Cordova"

Related

Framework not found Protobuf

I am facing an issue wherein I needed to use FirebaseRemoteConfig for my iOS app. I included the following pod:
pod 'Firebase/RemoteConfig'
Now when I am running the command on terminal:
pod install
It shows me the error:
Framework not found 'Protobuf'
Its really frustrating as the project was running fine before this. I have tried some suggestions from stack overflow but could not resolve the issue.
# Uncomment this line to define a global platform for your project
platform :ios, '10.0'
# ignore all warnings from all pods
inhibit_all_warnings!
use_frameworks!
target 'S****k' do
pod 'AFNetworking', '~> 2.6'
pod 'TPKeyboardAvoiding', '~> 1.2'
pod 'SVProgressHUD', '~> 1.1'
pod 'Google/SignIn'
pod 'Mantle', '~> 2.0'
pod 'FBSDKCoreKit'#, '~> 4.8'
pod 'FBSDKLoginKit'#, '~> 4.8'
pod 'GooglePlaces', '~> 3.0.0'
#pod 'Firebase/Core'
pod 'GoogleTagManager'
pod 'GoogleIDFASupport'
pod 'Fabric'
pod 'Crashlytics'
pod 'AppsFlyerFramework'
pod 'KissXML'
pod 'GoogleMaps', '~> 3.0.0'
pod 'AutoScrollLabel'
pod "CleverTap-iOS-SDK"
pod 'IQKeyboardManager'
pod 'TrueSDK'
pod 'HyperSDK', '0.2.90'
pod 'ExpressCheckout'
#pod "AlignedCollectionViewFlowLayout"
pod 'UICollectionViewLeftAlignedLayout'
#pod 'TGLParallaxCarousel'
pod "JuspaySafeBrowser"
pod 'Firebase/RemoteConfig'
PLEASE BACKUP YOUR PROJECT
Let's go to "Your Project" -> Build Settings
find here Find here "Other Linker Flags" and open it
delete (click on "-" sign) string "Protobuf" and string "framework" above "Protobuf"
clean build Folder (Command + SHIFT + K) and rebuild
that's all
Select Project target
Go to build phases
Search Protobuf
delete Protobuf framework
Clean build folder and then build
It is worked for me
Worked for me
delete pods
delete .symlinks
flutter clean
flutter run

Dependency analysis error after installing a new pod

Currently I'm using Swift 3, and after I install a new Pod I received this error
Here's my Pod
I can't even clean the project, I tried Pod update but the error persists. What should I do to fix this problem?
Must Add line
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
pod 'Bolts', '~> 1.8'
pod 'Cosmos', '~> 12.0'
end
Now you can install the dependencies in your project:
$ pod install

UITest bundle could not be loaded

When i run the UITest in my phone it installs and runs as a separate app while giving the following error.
2017-07-27 10:44:33.892639+0700 XCTRunner[11886:3502890] Running
tests... 2017-07-27 10:44:34.137927+0700 XCTRunner[11886:3502890] The
bundle “...UITests” couldn’t be loaded because it is damaged or
missing necessary resources. Try reinstalling the bundle. 2017-07-27
10:44:34.137999+0700 XCTRunner[11886:3502890]
(dlopen_preflight(/var/containers/Bundle/Application/75C9B589-CCD4-480D-9E23-BA86878E8B37/...UITests-Runner.app/PlugIns/...UITests.xctest/...UITests):
Library not loaded:
#rpath/GoogleToolboxForMac.framework/GoogleToolboxForMac Referenced
from:
/var/containers/Bundle/Application/75C9B589-CCD4-480D-9E23-BA86878E8B37/...UITests-Runner.app/PlugIns/...UITests.xctest/...UITests
Reason: image not found)
I am trying to find a solution for this problem more than a day.
I wanted to add UITests to my existing app and added UITest target to my app. I am using both carthage and cocoa-pod. I updated pod file and updated pod then i added frameworks to the UITest target which are installed by carthage.
This is my pod file
platform :ios, '9.0'
use_frameworks!
target 'ExampleApp' do
pod 'Charts'
pod 'ReachabilitySwift', '~> 3'
pod 'Fabric'
pod 'Crashlytics'
pod 'Google/Analytics'
pod 'Firebase/Core'
pod 'Firebase/Messaging'
end
target 'ExampleAppTests' do
pod 'Charts'
pod 'ReachabilitySwift', '~> 3'
pod 'Fabric'
pod 'Crashlytics'
end
target 'ExampleAppUITests' do
pod 'Charts'
pod 'ReachabilitySwift', '~> 3'
pod 'Fabric'
pod 'Crashlytics'
end
This is my cartfile
github "Alamofire/Alamofire" ~> 4.0
github "SwiftyJSON/SwiftyJSON" "3.0.0"
github "Friend-LGA/LGSideMenuController" ~> 1.0.0
github "TTTAttributedLabel/TTTAttributedLabel" ~> 1.13.4
github "MagicalPanda/MagicalRecord"
I could find a related question from stack overflow but unfortunately it was not helpful. can you please help me to add the UITest target to my project without a issue.
Podfile
# Uncomment the next line to define a global platform for your project
platform :ios, '10.0'
use_frameworks!
def base_pods
pod 'FBSDKCoreKit', '4.24.0'
pod 'FBSDKLoginKit', '4.24.0'
pod 'FBSDKShareKit', '4.15.0'
pod 'FacebookCore', '0.2.0'
pod 'FacebookLogin', '0.2.0'
pod 'FacebookShare', '0.2.0'
end
target 'App' do
base_pods
target 'AppTests' do
inherit! :search_paths
# Pods for testing
end
target 'AppUITests' do
inherit! :complete
# Pods for UI testing
end
end
the line inherit! :complete is key here
and in settings for the UITest target
NEXT:
clear derived data
pod deintegrate && pod install

ERROR ITMS-90205 The bundle contains disallowed nested bundles podfile

I am getting the following error when deploying to AppStore
ERROR ITMS-90205 The bundle contains disallowed nested bundles podfile
Both my App and Today Extension use Swift pods.
Here's my Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
pod 'Fabric'
pod 'Crashlytics'
pod 'Alamofire', '~> 3.0'
pod 'Eureka', '~> 1.0'
pod 'NSString-HTML', '~> 0.0'
pod 'TSMessages', :git => 'https://github.com/KrauseFx/TSMessages.git'
pod 'MCSMKeychainItem'
pod 'HTProgressHUD', '~> 0.2.1'
pod 'DZNEmptyDataSet'
pod 'TOWebViewController', '~> 2.0.5'
pod 'SimulatorStatusMagic', :configurations => ['Debug']
end
target 'MyAppTodayExtension' do
pod 'Alamofire', '~> 3.0'
pod 'NSString-HTML', '~> 0.0'
pod 'MCSMKeychainItem'
end
What am I doing wrong?
UPDATE: After installing a custom Run Script build phase for my Today Extension that removes the Frameworks directory, I am able to upload to App Store.
cd "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/"
if [[ -d "Frameworks" ]]; then
rm -fr Frameworks
fi
But is there another way that is supported by CocoaPods?
Try downgrading cocoapods to 0.38.2 version. I had that problem and I fixed by downgrading.
https://github.com/CocoaPods/CocoaPods/issues/4203

Cocoapods Test Issue - Duplicate "one of the two will be used. which one is undefined."

I've been trying to solve this issue for a couple days and haven't found a solution. Whenever I try to run a test I receive the error shown below that there are duplicate classes.
I tried these answers but I'm still receiving the duplicate error and my tests won't run
Cocoapods Warning - CocoaPods did not set the base configuration of your project because because your project already has a custom config set
My pod file looks like this:
platform :ios, "8.0"
def project_pods
pod "Braintree"
pod "AFNetworking", "~> 3.0"
pod "MBProgressHUD"
pod "ActionSheetPicker-3.0", "~> 2.0.1"
pod "SCLAlertView-Objective-C", "~> 0.7"
pod "GoogleMaps"
pod "MPSHorizontalMenu"
pod "Fabric"
pod "Crashlytics"
pod "RateView"
pod "QBImagePickerController"
pod "GLCalendarView", "~> 1.0.0"
pod "Heap"
pod "AWSS3"
end
target “iOS_project” do
project_pods
end
target “iOS_projectTests” do
project_pods
end
This is what the error looks like and it is for every cocoapod class:
Class GMSAutocompleteResultsViewController is implemented in both /Users/john/Library/Developer/CoreSimulator/Devices/27CF0470-07AC-4575-8907-A27EE9B357A7/data/Containers/Bundle/Application/7AFB0886-9ED1-464D-8B02-067CDD07511D/iOS_project.app/iOS_project and /Users/john/Library/Developer/Xcode/DerivedData/iOS_projectTests-hezbkjqviaiitthcrrnwetvcojcb/Build/Products/Debug-iphonesimulator/iOS_projectTests.xctest/iOS_projectTests. One of the two will be used. Which one is undefined.
All of the pods are Objective C and I am using a bridging header
Reformat your podfile like this:
platform :ios, "8.0"
def project_pods
pod "Braintree"
pod "AFNetworking", "~> 3.0"
pod "MBProgressHUD"
pod "ActionSheetPicker-3.0", "~> 2.0.1"
pod "SCLAlertView-Objective-C", "~> 0.7"
pod "GoogleMaps"
pod "MPSHorizontalMenu"
pod "Fabric"
pod "Crashlytics"
pod "RateView"
pod "QBImagePickerController"
pod "GLCalendarView", "~> 1.0.0"
pod "Heap"
pod "AWSS3"
target "iOS_projectTests" do
inherit! :search_paths
end
end
target "iOS_project" do
project_pods
end
Source: CocoaPods issue #4626
The error indicates that '
GMSAutocompleteResultsViewController' is integrated two time and only one is used from it
If you are not using unit testing case target for now you can remove that portion from the podfile and check again by pod install or pod update
Remove this portion from your podfile
target “iOS_projectTests” do
project_pods
end
For swift it will be good if you set use_frameworks! below the platform version
so your top portion can be like
platform :ios, "8.0"
use_frameworks!
so your new podfile can look like this
platform :ios, "8.0"
use_frameworks!
def project_pods
pod "Braintree"
pod "AFNetworking", "~> 3.0"
pod "MBProgressHUD"
pod "ActionSheetPicker-3.0", "~> 2.0.1"
pod "SCLAlertView-Objective-C", "~> 0.7"
pod "GoogleMaps"
pod "MPSHorizontalMenu"
pod "Fabric"
pod "Crashlytics"
pod "RateView"
pod "QBImagePickerController"
pod "GLCalendarView", "~> 1.0.0"
pod "Heap"
pod "AWSS3"
end
target “iOS_project” do
project_pods
end
target “iOS_projectTests” do
project_pods
end
Hope this helps, if it still shows the error you may put pods directly on the target instead of putting in def at top
Note: For the Google map you can also directly import the framework like import GoogleMaps instead of adding google maps in the bridging header
now, modify Podfile by commenting use_frameworks! ,like below:
platform :ios, '8.0'
#use_frameworks!
target 'ShiBa' do
pod 'SDWebImage'
pod 'AFNetworking'
pod 'MBProgressHUD'
pod 'MJRefresh', '3.1.0'
pod 'UMengAnalytics'
pod 'YYModel'
pod 'AMapLocation'
pod 'pop'
end

Resources