[心得] 蝦米鍵盤目前送審情況
各位版友好,相信很多人關心蝦米鍵盤送審情況
最近一次送審是周二,今天再次被reject,理由實在是讓我哭笑不得
以下附上App Review Team Reject Reason,中文翻譯以及採取行動
----- 2.3 -----
We still find that your app did not achieve the core functionality
described in your marketing materials or release notes, as required by the
App Store Review Guidelines.
您的app還是有核心功能不完整啊~~
Your app has the UIFileSharingEnabled key set to true in the Info.plist,
but this feature is not functional.
您的app中啟用了UIFileSharingEnabled功能但是沒有作用(這完全看不懂
When file sharing is enabled, the entire Documents folder is used for file
sharing. Files that are not intended for user access via the file sharing
feature should be stored in another part of your application's bundle.
If your application does not require the file sharing feature, the
UIFileSharingEnabled key in the Info.plist should not be set to true.
這段不重要就不翻了
*** 發生原因與採取行動
基本上這個UIFileSharingEnabled功能就是讓使用者可以在iTunes中向app
存文件,這個要開了,在iTunes裡有個File Sharing使用者就可以把檔案拉
進app中。而我使用這個功能是為了讓使用者可以自行加字加詞。我在蝦米
鍵盤中提供了一個預設的字碼檔,然後我把這個字碼檔從使用者無法存取的
地方複製到這個File Sharing功能可以存取的地方,這樣使用者才可以下載、
自行加字加詞,然後再上傳回app中,重新載入對照表這樣。
所以我完全不能理解app review說的這功能不能用是怎麼回事。
目前我為了不去跟他們吵架,我先把這個功能拿掉,也就是說蝦米鍵盤第一
版沒辦法自行加字加詞了,第二版上架時我會去跟他們吵架。
基本上內附的字碼表應該蠻夠用,不夠用的請先用快速詞彙頂著先。
----- 25.5 -----
Also, we still find that your keyboard extension ceases to function when
used without network access, which does not comply with the App Store
Review Guidelines.
您的app在沒有網路的情況下無法使用(明明就可以)
Specifically, your keyboard extension requires Allow Full Access turned
on in order to function which is not in compliance. The keyboard extension
should still function without Allow Full Access turned on.
原來是因為蝦米鍵目前如果沒有啟用「允許完整取用」的話,你按任何鍵
他只會叫你去啟用「允許完整取用」而不會輸出任何字。
*** 發生原因與採取行動
這部份有點複雜,我盡量說的簡單點。
首先各位要先明白iOS 8第三方鍵盤,其實實質上是2個app,一個是你安裝蝦
米鍵盤後手機上會出現蝦米鍵盤的圖示,就像一般app一樣,這個叫作hosting
app,然後你進入設定->鍵盤,會看到蝦米鍵盤,這個叫作keyboard extension.
簡而言之,這個問題是hosting app和keyboard extension交換資料時出現的問題。
Apple預設值是hosting app和keyboard extension是不能互相存取資料的。
如果需要存取資料,那麼就必須開啟「允許完整取用」。
而Apple App Review Guideline中說第三方鍵盤必須在「不允許完整取用」的情
況下仍然可以運作。這對中文輸入法就有點苛求了,原因如下。
中文輸入法和英文輸入法最大的不同點,就是中文輸入法必須查碼,而
英文輸入法不用。英文輸入法按鍵上的文字就是輸出的文字,最多是判斷要大
寫還是小寫。但是中文輸入法呢,像嘸蝦米,首先我們必須要有一個對照表,
也就是字碼表,來轉換一組英文字串輸出一個中文字(例如COFU對照到'蝦'),
而最大的問題就是字碼表本身是文字檔,程式中是沒法直接拿來搜的(硬要說
可以也是行啦,但是耗時良久),所以我必須在hosting app中先把字碼檔拿
來跑一次,然後把每個對照歸類,也就是同樣的字碼放在一起這樣,然後存成一
個資料結構(目前用的是map,最早的版本用的是Prefix Tree,但有點慢),再
把這個資料結構存到一個hosting app和keyboard extension都可以存取的地
方(叫作NSUserDefaults),之後在鍵盤中,使用者打字時我就不用每個字都去
查原始字碼檔(這樣很慢),而是從NSUserDefautls中把那個資料結構拿出來,
從這裡面去查。
之所以不能在keyboard extension作這項轉換的動作是因為鍵盤本身常常會重
新啟動,像是如果記憶體不足,或是你換去不用鍵盤的app,有時鍵盤會自動
重新啟動,而轉換的動作,就40000字的字碼檔來說,大約需要5秒,這個時間
如果是在hosting app中,應該還算可以接受,但是如果你每打一個字都要等
5秒,大概沒人可以接受。所以說這個轉換動作必定是要在hosting app中作的,
也就是說如果不允許完整取用,鍵盤就沒有對照表用,自然就無法輸出中文。
我採取的行動是修改程式碼,變成如果沒有允許完整取用,那就直接輸出英文。
--------- 歉意滿滿分隔線 ---------
以上,為了給期盼蝦米鍵盤上架的同學們一個交代,被拒的理由、發生的原因、
以及已採取的行動茲略述於上。
新修改完的版本今天之內會再次送審,目前Apple Review的速度好像變快很多,
周二送的今天就審了,所以期望4天內會有結果。
再次還是得道歉一下,讓各位久等,有些規定實在是沒遇到不知道...
再次還是得感謝一下,目前有參加封閉測試的朋友反應好像都還可以,我真的
很開心。
這大概是我上PTT十多年來打最長的文章...
有任何意見請推文,寄我信箱,po我blog都可以
以上文章沒有藏頭~~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 24.5.187.134
※ 文章網址: http://www.ptt.cc/bbs/Liu/M.1412374926.A.634.html
推
10/04 06:25, , 1F
10/04 06:25, 1F
※ 編輯: IMPOSSIBLEr (24.5.187.134), 10/04/2014 06:26:27
推
10/04 06:52, , 2F
10/04 06:52, 2F
推
10/04 07:06, , 3F
10/04 07:06, 3F
推
10/04 07:15, , 4F
10/04 07:15, 4F
推
10/04 07:51, , 5F
10/04 07:51, 5F
推
10/04 08:05, , 6F
10/04 08:05, 6F
推
10/04 08:57, , 7F
10/04 08:57, 7F
推
10/04 08:58, , 8F
10/04 08:58, 8F
推
10/04 10:31, , 9F
10/04 10:31, 9F
推
10/04 11:23, , 10F
10/04 11:23, 10F
推
10/04 11:51, , 11F
10/04 11:51, 11F
推
10/04 11:55, , 12F
10/04 11:55, 12F
→
10/04 11:59, , 13F
10/04 11:59, 13F
推
10/04 12:33, , 14F
10/04 12:33, 14F
推
10/04 12:43, , 15F
10/04 12:43, 15F
推
10/04 16:18, , 16F
10/04 16:18, 16F
推
10/04 16:41, , 17F
10/04 16:41, 17F
推
10/04 16:55, , 18F
10/04 16:55, 18F
推
10/04 18:36, , 19F
10/04 18:36, 19F
推
10/04 20:20, , 20F
10/04 20:20, 20F
推
10/04 22:26, , 21F
10/04 22:26, 21F
推
10/04 23:08, , 22F
10/04 23:08, 22F
推
10/04 23:57, , 23F
10/04 23:57, 23F
推
10/05 07:18, , 24F
10/05 07:18, 24F
推
10/05 13:44, , 25F
10/05 13:44, 25F
→
10/05 15:39, , 26F
10/05 15:39, 26F
推
10/05 17:28, , 27F
10/05 17:28, 27F
推
10/05 19:00, , 28F
10/05 19:00, 28F
推
10/05 19:50, , 29F
10/05 19:50, 29F
推
10/06 13:21, , 30F
10/06 13:21, 30F
推
10/06 17:46, , 31F
10/06 17:46, 31F
推
10/07 01:55, , 32F
10/07 01:55, 32F
推
10/07 04:38, , 33F
10/07 04:38, 33F
推
10/07 17:02, , 34F
10/07 17:02, 34F
推
10/07 22:26, , 35F
10/07 22:26, 35F
推
10/08 03:47, , 36F
10/08 03:47, 36F
→
10/08 09:22, , 37F
10/08 09:22, 37F
推
10/08 09:53, , 38F
10/08 09:53, 38F
推
10/08 12:12, , 39F
10/08 12:12, 39F
→
10/08 16:25, , 40F
10/08 16:25, 40F
推
10/08 20:01, , 41F
10/08 20:01, 41F
推
10/09 06:37, , 42F
10/09 06:37, 42F
推
10/09 13:43, , 43F
10/09 13:43, 43F
推
10/09 20:40, , 44F
10/09 20:40, 44F
推
10/09 21:24, , 45F
10/09 21:24, 45F
推
10/14 10:49, , 46F
10/14 10:49, 46F
不支援,不過是Apple不支援~~
※ 編輯: IMPOSSIBLEr (24.5.187.134), 10/14/2014 17:17:30
推
11/11 21:29, , 47F
11/11 21:29, 47F
討論串 (同標題文章)
Liu 近期熱門文章
PTT數位生活區 即時熱門文章