Skip to content

TNS run/debug ios --syncAllFiles with cocoapods has issues #3672

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

Closed
NathanaelA opened this issue Jun 7, 2018 · 1 comment
Closed

TNS run/debug ios --syncAllFiles with cocoapods has issues #3672

NathanaelA opened this issue Jun 7, 2018 · 1 comment
Assignees
Labels
Milestone

Comments

@NathanaelA
Copy link
Contributor

Did you verify this is a real problem by searching the [NativeScript Forum]

Yes

Tell us about the problem

I was testing making changes to an app; so I has started tns up with tns debug ios initially. Later when I realized I needed to test something; I cancelled it and tried starting it with --syncAllFiles and it aborted out with a cocoapod error (duplicate pods). So I reset the platforms (and removed app from simulator) and then started it with SyncAllFiles and it worked. However, when I changed a single tns-core-module or a plugin JS file it attempted to do a full rebuild the application again which then threw up the cocoapod error.

Issue 1: Trying to do a full rebuild when it wasn't needed
Issue 2: Cocoapod corrupting during rebuild

Which platform(s) does your issue occur on?

iOS

Please provide the following version numbers that your issue occurs with:

4.1 (latest of everything)

Please tell us how to recreate the issue in as much detail as possible.

Appears to be an issue with changing a TNS-Core-Module or plugin .JS file; which first of all triggers it to want to rebuild the application. (A JS change hasn't triggered a rebuild in the past).

The triggered rebuild of the application makes (corrupting) changes to the Cocoapod file which then makes it crash out during the rebuild. And so then the app fails to build. To fix; you have to reset the platforms folder again and start all over.

Is there code involved? If so, please share the minimal amount of code needed to recreate the

No, just create a project with a couple cocoapod plugins.

Original Cocoapod (Working, and before I changed the tns core modules/plugin JS file)

use_frameworks!

target "demo" do
# Begin Podfile - /Users/mac/Source/demo/node_modules/@nstudio/nativescript-camera-plus/platforms/ios/Podfile 
 
pod "SwiftyCam", :git => "https://github.com/NathanWalker/SwiftyCam.git"
pod "QBImagePickerController"

def post_install1 (installer)
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['SWIFT_VERSION'] = '3.0'
    end
  end
end 
 # End Podfile 
# Begin Podfile - /Users/mac/Source/demo/node_modules/nativescript-bottombar/platforms/ios/Podfile 
 use_frameworks!
pod 'MiniTabBar', :git => 'https://github.com/rhanb/MiniTabBar.git'
def post_install2 (installer)
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = '3.0'
        end
    end
end 
 # End Podfile 
# Begin Podfile - /Users/mac/Source/demo/node_modules/nativescript-imagepicker/platforms/ios/Podfile 
 pod 'QBImagePickerController', '~> 3.4.0' 
 # End Podfile 
# Begin Podfile - /Users/mac/Source/demo/node_modules/nativescript-secure-storage/platforms/ios/Podfile 
 pod 'SAMKeychain', '~> 1.5.3' 
 # End Podfile 
# Begin Podfile - /Users/mac/Source/demo/node_modules/nativescript-toast/platforms/ios/Podfile 
 pod 'Toaster', '~> 2.0.1' 
 # End Podfile 
# Begin Podfile - /Users/mac/Source/demo/node_modules/nativescript-websockets/platforms/ios/Podfile 
 pod 'PocketSocket', :git => 'https://github.com/NathanaelA/PocketSocket' 
 # End Podfile 

end
post_install do |installer|
  post_install1 installer
  post_install2 installer
end

Broken Cocoapod that it created during the very first changed file while running
You'll notice about half way in the totally messed up def post_install1 which causes it to go boom! 😀

use_frameworks!

target "demo" do
# Begin Podfile - /Users/mac/Source/demo/node_modules/@nstudio/nativescript-camera-plus/platforms/ios/Podfile 
 
pod "SwiftyCam", :git => "https://github.com/NathanWalker/SwiftyCam.git"
pod "QBImagePickerController"

def post_install1 (installer)
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['SWIFT_VERSION'] = '3.0'
    end
  end
end 
 # End Podfile 
# Begin Podfile - /Users/mac/Source/demo/node_modules/nativescript-bottombar/platforms/ios/Podfile 
 use_frameworks!
pod 'MiniTabBar', :git => 'https://github.com/rhanb/MiniTabBar.git'
def post_install2 (installer)
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = '3.0'
        end
    end
end 
 # End Podfile 
# Begin Podfile - /Users/mac/Source/demo/node_modules/nativescript-imagepicker/platforms/ios/Podfile 
 pod 'QBImagePickerController', '~> 3.4.0' 
 # End Podfile 
# Begin Podfile - /Users/mac/Source/demo/node_modules/nativescript-secure-storage/platforms/ios/Podfile 
 pod 'SAMKeychain', '~> 1.5.3' 
 # End Podfile 
# Begin Podfile - /Users/mac/Source/demo/node_modules/nativescript-toast/platforms/ios/Podfile 
 pod 'Toaster', '~> 2.0.1' 
 # End Podfile 
# Begin Podfile - /Users/mac/Source/demo/node_modules/nativescript-websockets/platforms/ios/Podfile 
 pod 'PocketSocket', :git => 'https://github.com/NathanaelA/PocketSocket' 
 # End Podfile 

end
def post_install1 (installer)
  post_install1 installer
  post_install2 installer# Begin Podfile - /Users/mac/Source/demo/node_modules/@nstudio/nativescript-camera-plus/platforms/ios/Podfile 
 
pod "SwiftyCam", :git => "https://github.com/NathanWalker/SwiftyCam.git"
pod "QBImagePickerController"

def post_install2 (installer)
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['SWIFT_VERSION'] = '3.0'
    end
  end
end 
 # End Podfile 
# Begin Podfile - /Users/mac/Source/demo/node_modules/nativescript-bottombar/platforms/ios/Podfile 
 use_frameworks!
pod 'MiniTabBar', :git => 'https://github.com/rhanb/MiniTabBar.git'
def post_install3 (installer)
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = '3.0'
        end
    end
end 
 # End Podfile 

end
post_install do |installer|
  post_install1 installer
  post_install2 installer
  post_install3 installer
end
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

3 participants