aliyun / alibabacloud-push-flutter-plugin

MIT License
21 stars 8 forks source link

iOS Pod install报错 #2

Closed chiluo closed 1 year ago

chiluo commented 1 year ago

Flutter无法运行iOS项目,pod报错: Unable to find a specification for AlicloudPush depended upon by aliyun_push

dzenm commented 1 year ago

Podfile 文件中在最前面加 source 'https://github.com/aliyun/aliyun-specs.git'

RA1NO3O commented 1 year ago

请问这个问题如何解决? The 'Pods-Runner' target has transitive dependencies that include statically linked binaries: ($FLUTTER_PROJECT_ROOT/ios/Pods/AlicloudPush/push/CloudPushSDK.framework) 以下是我的Podfile文件:

source 'https://github.com/aliyun/aliyun-specs.git'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '12.4'
inhibit_all_warnings!
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
  use_frameworks!
  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
        config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'i386 arm64'
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
        config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
             '$(inherited)',
             ## dart: PermissionGroup.calendar
             # 'PERMISSION_EVENTS=1',

             ## dart: PermissionGroup.reminders
             # 'PERMISSION_REMINDERS=1',

             ## dart: PermissionGroup.contacts
             # 'PERMISSION_CONTACTS=1',

             ## dart: PermissionGroup.camera
              'PERMISSION_CAMERA=1',

             ## dart: PermissionGroup.microphone
             'PERMISSION_MICROPHONE=1',

             ## dart: PermissionGroup.speech
             # 'PERMISSION_SPEECH_RECOGNIZER=1',

             ## dart: PermissionGroup.photos
              'PERMISSION_PHOTOS=1',

             ## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
             # 'PERMISSION_LOCATION=1',

             ## dart: PermissionGroup.notification
             # 'PERMISSION_NOTIFICATIONS=1',

             ## dart: PermissionGroup.mediaLibrary
             # 'PERMISSION_MEDIA_LIBRARY=1',

             ## dart: PermissionGroup.sensors
             # 'PERMISSION_SENSORS=1',

             ## dart: PermissionGroup.bluetooth
             # 'PERMISSION_BLUETOOTH=1',

             ## dart: PermissionGroup.appTrackingTransparency
             # 'PERMISSION_APP_TRACKING_TRANSPARENCY=1',

             ## dart: PermissionGroup.criticalAlerts
             # 'PERMISSION_CRITICAL_ALERTS=1'
           ]
    end
  end
end
RA1NO3O commented 1 year ago

请问这个问题如何解决? The 'Pods-Runner' target has transitive dependencies that include statically linked binaries: ($FLUTTER_PROJECT_ROOT/ios/Pods/AlicloudPush/push/CloudPushSDK.framework) 以下是我的Podfile文件:

source 'https://github.com/aliyun/aliyun-specs.git'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '12.4'
inhibit_all_warnings!
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
  use_frameworks!
  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
        config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'i386 arm64'
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
        config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
             '$(inherited)',
             ## dart: PermissionGroup.calendar
             # 'PERMISSION_EVENTS=1',

             ## dart: PermissionGroup.reminders
             # 'PERMISSION_REMINDERS=1',

             ## dart: PermissionGroup.contacts
             # 'PERMISSION_CONTACTS=1',

             ## dart: PermissionGroup.camera
              'PERMISSION_CAMERA=1',

             ## dart: PermissionGroup.microphone
             'PERMISSION_MICROPHONE=1',

             ## dart: PermissionGroup.speech
             # 'PERMISSION_SPEECH_RECOGNIZER=1',

             ## dart: PermissionGroup.photos
              'PERMISSION_PHOTOS=1',

             ## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
             # 'PERMISSION_LOCATION=1',

             ## dart: PermissionGroup.notification
             # 'PERMISSION_NOTIFICATIONS=1',

             ## dart: PermissionGroup.mediaLibrary
             # 'PERMISSION_MEDIA_LIBRARY=1',

             ## dart: PermissionGroup.sensors
             # 'PERMISSION_SENSORS=1',

             ## dart: PermissionGroup.bluetooth
             # 'PERMISSION_BLUETOOTH=1',

             ## dart: PermissionGroup.appTrackingTransparency
             # 'PERMISSION_APP_TRACKING_TRANSPARENCY=1',

             ## dart: PermissionGroup.criticalAlerts
             # 'PERMISSION_CRITICAL_ALERTS=1'
           ]
    end
  end
end

这个问题已解决。给后面来的人指个路: 要修改这一行: use_frameworks! :linkage => :static