Post not yet marked as solved
Post marked as unsolved with 0 replies, 558 views
My app getting rejected from testflight due to photolibraryusagedescription when i am not even using this permission and define the purpose for this permission as per app rejection mail. BTW i am a flutter developer and my app is build in flutter.
I have removed every package which might be using this permission.
Done the flutter clean and pod update and everything.
This is my Podfile.
platform :ios, '12.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}
install! 'cocoapods', :disable_input_output_paths => true
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
# '
#
# # ...
# end
target 'Runner' do
use_frameworks!
use_modular_headers!
pod 'Firebase'
pod 'GoogleUtilities'
# pod 'cloud_firestore', :git=> 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '10.3.0'
pod 'Firebase/Core', '>= 0'
pod 'FirebaseCrashlytics', '>= 0'
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end
post_install do |installer|
installer.generated_projects.each do |project|
project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
end
end
end
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
end
target 'ImageNotification' do
use_frameworks!
pod 'GoogleUtilities'
pod 'Firebase/Messaging','>=10.0.0'
end
This is my Info.plist file
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
<string>dev.flutter.background.refresh</string>
</array>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>THE One</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>ios</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb485115409812800</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>FacebookAdvertiserIDCollectionEnabled</key>
<true/>
<key>FacebookAppID</key>
<string>485115409812800</string>
<key>FacebookAutoLogAppEventsEnabled</key>
<true/>
<key>FacebookClientToken</key>
<string>66dae4870d542eed4c6f948fc39ce9d9</string>
<key>FacebookDisplayName</key>
<string>THE One Mobile App Matrid</string>
<key>FirebaseAppDelegateProxyEnable</key>
<false/>
<key>LSApplicationCategoryType</key>
<string></string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>https</string>
<string>http</string>
</array>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
</dict>
<key>NSLocationAlwaysUsageDescription</key>
<string>This app needs access to location for selecting the products from the nearest THE One store. This will help us to deliver personalized and best products and services to you. Your data will be safe and not shared with a third party. You can disable it from Settings.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>This app needs access to location for selecting the nearest THE One store. This will help us to deliver personalized and best products and services to you. Your data will be safe and not shared with a third party. You can disable it from Settings</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app does not required Microphone permission</string>
<key>NSUserTrackingUsageDescription</key>
<string>This will help us to deliver personalized and best products and services to you. Your data will be safe and not shared with a third party. You can disable it from Settings</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>This app needs access to location for selecting the products from the nearest THE One store but this permission is optional, you can change it from app setting. This will help us to deliver personalized and best products and services to you. Your data will be safe and not shared with a third party. You can disable it from Settings.</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>This app does not required Photo Library Permission</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>io.flutter.embedded_views_preview</key>
<true/>
<key>UIStatusBarHidden</key>
<false/>
</dict>
</plist>
Some String has been removed from this post due to word limitation.
Every help appreciated.