title: flutter build ios error after add OneSignalNotificationServiceExtension to Podfile
body: <p>I used onesignal_flutter <a href="https://pub.dev/packages/onesignal_flutter" rel="nofollow noreferrer">https://pub.dev/packages/onesignal_flutter</a></p>
  
  <p>in my flutter project </p>
  
  <p>and after follow this steps to setup onsignal sdk for ios in this link</p>
  
  <p><a href="https://documentation.onesignal.com/docs/flutter-sdk-setup" rel="nofollow noreferrer">https://documentation.onesignal.com/docs/flutter-sdk-setup</a></p>
  
  <p>I run this two commands in visual studio code terminal </p>
  
  <p><code>flutter clean</code> and <code>flutter build ios</code></p>
  
  <p>I get this error</p>
  
  <pre><code>Running pod install...                                              2.7s
  
  Running Xcode build...                                                  
  
  Xcode build done.                                            4.8s
  
  Failed to build iOS app
  
  Error output from Xcode build:
  ↳
      ** BUILD FAILED **
  </code></pre>
  
  <p>Xcode's output:
  ↳</p>
  
  <pre><code>  ld: warning: linking against a dylib which is not safe for use in application
      extensions:
      /Users/jaadara/Desktop/flutter/bin/cache/artifacts/engine/ios-release/Flutter.framework/
      Flutter
      ld: warning: linking against a dylib which is not safe for use in application
      extensions:
      /Users/jaadara/Desktop/flutter/bin/cache/artifacts/engine/ios-release/Flutter.framework/
      Flutter
      /Users/jaadara/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_webview_plugin
      -0.3.8/ios/Classes/FlutterWebviewPlugin.m:19:55: error: 'sharedApplication' is
      unavailable: not available on iOS (App Extension) - Use view controller based solutions
      where appropriate instead.
          UIViewController *viewController = [UIApplication
          sharedApplication].delegate.window.rootViewController;
                                                            ^
      In module 'UIKit' imported from /Users/jaadara/Desktop/cicr_finals/ios/Pods/Target
      Support Files/flutter_webview_plugin/flutter_webview_plugin-prefix.pch:2:
      /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iP
      honeOS11.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:110:54:
      note: property 'sharedApplication' is declared unavailable here
      @property(class, nonatomic, readonly) UIApplication *sharedApplication
      NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate
      instead.");
                                                           ^
      /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iP
      honeOS11.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:110:54:
      note: 'sharedApplication' has been explicitly marked unavailable here
      /Users/jaadara/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_webview_plugin
      -0.3.8/ios/Classes/FlutterWebviewPlugin.m:286:24: warning: comparison of distinct
      pointer types ('NSString *' and 'NSNull * _Nonnull') [-Wcompare-distinct-pointer-types]
        if (_invalidUrlRegex != [NSNull null] &amp;&amp; urlString != nil) {
            ~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~
      1 warning and 1 error generated.
  
  Encountered error while building for device.
  </code></pre>
  
  <p>and this my Podfile code</p>
  
  <pre><code># Uncomment this line to define a global platform for your project
   platform :ios, '9.0'
  
  # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
  ENV['COCOAPODS_DISABLE_STATS'] = 'true'
  
  project 'Runner', {
    'Debug' =&gt; :debug,
    'Profile' =&gt; :release,
    'Release' =&gt; :release,
  }
  
  def parse_KV_file(file, separator='=')
    file_abs_path = File.expand_path(file)
    if !File.exists? file_abs_path
      return [];
    end
    pods_ary = []
    skip_line_start_symbols = ["#", "/"]
    File.foreach(file_abs_path) { |line|
        next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
        plugin = line.split(pattern=separator)
        if plugin.length == 2
          podname = plugin[0].strip()
          path = plugin[1].strip()
          podpath = File.expand_path("#{path}", file_abs_path)
          pods_ary.push({:name =&gt; podname, :path =&gt; podpath});
        else
          puts "Invalid plugin specification: #{line}"
        end
    }
    return pods_ary
  end
  
  target 'Runner' do
    use_frameworks!
  
    # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
    # referring to absolute paths on developers' machines.
    system('rm -rf .symlinks')
    system('mkdir -p .symlinks/plugins')
  
    # Flutter Pods
    generated_xcode_build_settings = parse_KV_file('./Flutter/Generated.xcconfig')
    if generated_xcode_build_settings.empty?
      puts "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first."
    end
    generated_xcode_build_settings.map { |p|
      if p[:name] == 'FLUTTER_FRAMEWORK_DIR'
        symlink = File.join('.symlinks', 'flutter')
        File.symlink(File.dirname(p[:path]), symlink)
        pod 'Flutter', :path =&gt; File.join(symlink, File.basename(p[:path]))
      end
    }
  
    # Plugin Pods
    plugin_pods = parse_KV_file('../.flutter-plugins')
    plugin_pods.map { |p|
      symlink = File.join('.symlinks', 'plugins', p[:name])
      File.symlink(p[:path], symlink)
      pod p[:name], :path =&gt; File.join(symlink, 'ios')
    }
    target 'OneSignalNotificationServiceExtension' do
      pod 'OneSignal', '&gt;= 2.9.3', '&lt; 3.0'
    end
  end
  
  # Prevent Cocoapods from embedding a second Flutter framework and causing an error with the new Xcode build system.
  install! 'cocoapods', :disable_input_output_paths =&gt; true
  
  post_install do |installer|
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings['ENABLE_BITCODE'] = 'NO'
      end
    end
  end
  </code></pre>
  
  <p>any help please </p>