
image.jpg
前言
我們知道,使用 Flutter 寫(xiě)的 App 項(xiàng)目,如果想上架 App Store,最后還是繞不過(guò) Xcode 生成 ipa 包,那么如果沒(méi)有 iOS 端開(kāi)發(fā)經(jīng)驗(yàn)的小伙伴可能按照下面的操作,幫你生成 ipa 順利發(fā)布。
首先要安裝 Xcode,并用 Xcode 打開(kāi) Flutter 項(xiàng)目的 iOS 文件夾的 Runner.xcworkspace 文件。
1、配置 HTTP 請(qǐng)求。
在 Runner 文件夾下面的 info.plist 中 添加以下代碼
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
效果如圖所示

http.jpg
2、項(xiàng)目中使用到硬件(例如 相機(jī),位置)等的配置
同樣在 Runner 文件夾下面的 info.plist 中 添加以下代碼
<!-- 相冊(cè) -->
<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能訪問(wèn)相冊(cè)</string>
<!-- 相機(jī) -->
<key>NSCameraUsageDescription</key>
<string>App需要您的同意,才能訪問(wèn)相機(jī)</string>
<!-- 麥克風(fēng) -->
<key>NSMicrophoneUsageDescription</key>
<string>App需要您的同意,才能訪問(wèn)麥克風(fēng)</string>
<!-- 位置 -->
<key>NSLocationUsageDescription</key>
<string>App需要您的同意,才能訪問(wèn)位置</string>
<!-- 在使用期間訪問(wèn)位置 -->
<key>NSLocationWhenInUseUsageDescription</key>
<string>App需要您的同意,才能在使用期間訪問(wèn)位置</string>
<!-- 始終訪問(wèn)位置 -->
<key>NSLocationAlwaysUsageDescription</key>
<string>App需要您的同意,才能始終訪問(wèn)位置</string>
<!-- 日歷 -->
<key>NSCalendarsUsageDescription</key>
<string>App需要您的同意,才能訪問(wèn)日歷</string>
<!-- 提醒事項(xiàng) -->
<key>NSRemindersUsageDescription</key>
<string>App需要您的同意,才能訪問(wèn)提醒事項(xiàng)</string>
<!-- 運(yùn)動(dòng)與健身 -->
<key>NSMotionUsageDescription</key>
<string>App需要您的同意,才能訪問(wèn)運(yùn)動(dòng)與健身</string>
<!-- 健康更新 -->
<key>NSHealthUpdateUsageDescription</key>
<string>App需要您的同意,才能訪問(wèn)健康更新 </string>
<!-- 健康分享 -->
<key>NSHealthShareUsageDescription</key>
<string>App需要您的同意,才能訪問(wèn)健康分享</string>
<!-- 藍(lán)牙 -->
<key>NSBluetoothPeripheralUsageDescription</key>
<string>App需要您的同意,才能訪問(wèn)藍(lán)牙</string>
<!-- 媒體資料庫(kù) -->
<key>NSAppleMusicUsageDescription</key>
<string>App需要您的同意,才能訪問(wèn)媒體資料庫(kù)</string>
3、關(guān)于 Flutter 打包的 ipa 支持的iOS版本如何設(shè)置

Flutter iOS 版本.jpg
4、關(guān)于 iOS 圖標(biāo)icon 與啟動(dòng)圖 如何修改。

image.png
5、如何運(yùn)行到自己的 iPhone 上。
點(diǎn)擊 Xcode 的設(shè)置。
- image.png
然后選擇 Apple ID 登錄,(Apple ID 不知道是什么的話,那就可以關(guān)閉網(wǎng)頁(yè)了)。
- image.png
然后 手機(jī)連接電腦, Xcode 中 選擇 你的iPhone 進(jìn)行 run。
運(yùn)行到手機(jī)后, 去通用->描述文件與設(shè)備管理->找到你的應(yīng)用 允許就好了。
5、如何配置證書(shū)與發(fā)布
- 這里有篇文件講的很不錯(cuò),我就直接發(fā)鏈接放這里,點(diǎn)擊我進(jìn)行跳轉(zhuǎn)
6、上線后的 閃退bug 以及用戶數(shù)量收集怎么快速接入
這里舉個(gè)栗子 (友盟)
這里假設(shè)你 友盟關(guān)于信息的配置到做好了。
友盟下載 SDK 導(dǎo)入到項(xiàng)目中。
- image.png
- image.png
- image.png
-
代碼如下
#include "AppDelegate.h" #include "GeneratedPluginRegistrant.h" #import <UMCommon/UMCommon.h> @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [GeneratedPluginRegistrant registerWithRegistry:self]; [UMConfigure setEncryptEnabled:YES];//打開(kāi)加密傳輸 [UMConfigure setLogEnabled:YES];//設(shè)置打開(kāi)日志 [UMConfigure initWithAppkey:@"Your AppKey" channel:@"App Store"]; // Override point for customization after application launch. return [super application:application didFinishLaunchingWithOptions:launchOptions]; }




