iOS AppStore 套殼開發上架過程-開發小問題(一)

下面給大家講講作者我「ios開發子」這些年iOS AppStore 套殼開發上架過程-從棋牌類到彩票類在到如今的金融原油期貨類App-過程中所遇到的一些開發問題及解決方案心得給大家寫下來分享分享!(由於字元限制,此為第一部分)

又一個馬甲包出自我手,看到新聞的我感覺這樣的生態環境真的好嗎?生活所迫啊。。。給我一個機會 我只想認真的做app而已

市面上App超過百分之三十 是套殼的馬甲包,不僅是小公司,更多的是大公司-什麼原因的都有,規避版權、關鍵字、等等

整理這一段時間我上架彩票App所經歷的問題和解決方案等心得經驗

Guideline 4.2.2 - Design - Minimum Functionality - 最低功能要求- App Store審核

We noticed that your app only includes links, images, or content aggregated from the Internet with limited or no native iOS functionality. Although this content may be curated from the web specifically for your users, since it does not sufficiently differ from a mobile web browsing experience, it is not appropriate for the App Store.

Next Steps

We encourage you to review your app concept and work towards creating an app that offers customers an engaging and lasting experience that also meets the App Store』s high expectations for quality and functionality.

Apple Developer includes a variety of design and development resources. Download iOS templates from Apple UI Design Resources, learn more about crafting intuitive, well-designed apps with the Design Video collection, and review the iOS Human Interface Guidelines for best practices to follow when designing apps for the App Store.

4.2 最低功能要求

App 應包含功能、內容和 UI,而不僅僅是一個經過重新包裝的網站。如果 app 沒有什麼實用價值、毫無新意或者不太像是一個 app,那它就不適合出現在 App Store 中。如果 app 不能帶來持久的娛樂價值,或只是讓人感到毛骨悚然,則無法獲得批准。如果 app 只是一首歌曲或一部影片,則應提交到 iTunes Store。如果 app 只是一本書籍或遊戲指南,則應提交到 iBooks Store。

4.2.1 使用 ARKit 的 app 應提供豐富而完整的增強現實體驗,僅將模型放入 AR 視圖或重播動畫並不足夠。
4.2.2 除了目錄類 app 之外,app 不應只包含市場營銷材料、廣告、網路剪報、內容聚合或鏈接集合。
4.2.3
(i) App 應能獨立工作,無需安裝其他 app。
(ii) 確保 app 發布時在其二進位文件中包含有正常運行所需的充足內容。
(iii) 如果 app 需要下載其他資源,請披露下載大小並在下載之前提醒用戶。現有 app 在 2019 年 1 月 1 日後提交的所有更新都必須遵循這一準則。
4.2.4 與錶盤類似的 Apple Watch app 可能會令人感到困惑,因為用戶會認為這些 app 能與各種設備功能 (如輕掃、通知和第三方功能欄) 配合使用。將創意性的時間表現方式用作 app 界面是個好點子 (例如,供衝浪者使用的潮汐時鐘),但是如果您的 app 與錶盤過於相像,則可能會被我們拒絕。
4.2.5 主要用作 iCloud 和 iCloud 雲盤文件管理器的 app 需要包含更多的 app 功能,才能獲得批准。
4.2.6 利用商業化模板或 app 生成服務創建的 app 將被拒絕,除非這個 app 由相應內容的提供商直接提交。這些模板服務若要為不同的客戶提供差異化的用戶體驗,可提供工具來幫助客戶自行創建創新的 app,但不應代表客戶提交 app。模板提供商也可以考慮創建單一的二進位文件,以匯總或「選取」的模型託管所有客戶端內容 (例如:在搜索餐廳的 app 里為每個客戶餐廳定製獨立的條目或頁面,或在聚會活動 app 里為每個客戶的活動創建單獨的條目)。
4.2.7 遠程 App 鏡像:如果您的遠程桌面 app 用作特定軟體或服務的鏡像,而不是主機設備的普通鏡像,則必須符合以下規定:
(a) 主機設備是歸用戶所有的個人電腦,並且主機和客戶端必須通過本地區域網連接。
(b) 客戶端中顯示的任何軟體或服務應在主機設備屏幕上完整呈現,並且不可使用超出遠程桌面傳輸所需的 API 或平台功能。
(c) 所有帳戶的創建和管理均必須從主機設備發起。
(d) 客戶端上顯示的 UI 不與 iOS 或 App Store 視圖類似,不提供商店類界面,也不能供用戶瀏覽、選擇或購買用戶尚未擁有或授權的軟體。為明確起見,在鏡像的軟體中發生的交易不需要使用 App 內購買,前提是這些交易是在主機設備上處理的。

解決方案:

1,元數據方面修改方案

  • 談產品可用性,對於用戶的需求點;
  • 描述本產品與App Store其他產品區別,本產品做了哪些細節性優化,或者哪些具體功能的不同性;

2,二進位方面修改方案

  • 添加開關;方法類似於下方;
  • 改功能;可以添加垃圾功能也可以獨立開發其他的功能來豐富產品;

詳細之前作者有寫過了,詳細請參考我的另一篇文章:baijiahao.baidu.com/s?


5.2.1 Legal: Intellectual Property - General - AppStore彩票上架

5.2.1 一般性:不得在未經授權的情況下,在 app 中使用受保護的第三方材料 (例如商標、版權作品、專利設計);也不得在 app 套裝或開發者名稱中包含虛假、抄襲或誤導性的演示、名稱或元數據。App 提交方應當是擁有或獲授權使用知識產權和其他相關權利的個人或法律實體,並且應對提供 app 中的任何服務負責。

We found that the seller or company name associated with your app does not reflect the name of the lottery service owner or government entity referenced in your app or its metadata.

The next submission of this app may require a longer review time, and this app will not be eligible for an expedited review until this issue is resolved.

Next Steps

- Review the Intellectual Property section of the App Store Review Guidelines.
- Ensure your app is compliant with all sections of the App Store Review Guidelines and the Terms & Conditions of the Apple Developer Program.
- Once your app is fully compliant, resubmit your app for review.

Note that submitting documentation showing permission to publish this app on behalf of the lottery service owner or government entity will not resolve this issue. This app must be submitted under the lottery service owner or the government entity』s own Apple Developer account.

If you believe your app is compliant with the App Store Review Guidelines, you may submit an appeal. Alternatively, you may provide additional details about your app by replying directly to this message.

Since your App Store Connect status is Rejected, a new binary will be required.

5.2.1 Legal: Intellectual Property - General - AppStore彩票上架 詳細解決方案和經驗-文章地址:點我點我


Guideline 1.1.6 - Safety - Objectionable Content - 機器審-查出關鍵字了,就是馬甲包。。。說明你混淆工作沒有做好

Guideline 1.1.6 - Safety - Objectionable Content

Your apps metadata contains misleading content or content that is intended to deceive users.

Please note that adding a disclaimer to the app description is not sufficient if the rest of the metadata and the app are misleading.

The next submission of this app may require a longer review time, and this app will not be eligible for an expedited review until this issue is resolved.

Next Steps

- Review the Objectionable Content section of the App Store Review Guidelines.
- Ensure your app is compliant with all sections of the App Store Review Guidelines and the Terms & Conditions of the Apple Developer Program.
- Once your app is fully compliant, resubmit your app for review.

Submitting apps designed to mislead or harm customers or evade the review process may result in the termination of your Apple Developer Program account. Review the Terms & Conditions of the Apple Developer Program to learn more about our policies regarding termination.

If you believe your app is compliant with the App Store Review Guidelines, you may submit an appeal. Alternatively, you may provide additional details about your app by replying directly to this message.

The next submission of this app may require a longer review time, and this app will not be eligible for an expedited review until this issue is resolved.

The next submission of this app may require a longer review time, and this app will not be eligible for an expedited review until this issue is resolved.
下次提交此應用可能需要較長的審核時間,在此問題得到解決之前,此應用無法獲得加急審核。

恭喜你,成功被卡審,這個包和你的開發者已報廢。想在上架馬甲包是不可能的了,建議也別跟蘋果硬,否則下一步就是封停賬號.


關於iOS應用程序如何在AppStore添加額外的下載鏈接、渠道鏈接、營銷鏈接 的問題-以及解決辦法!

當你的數據充足 在App分析中可以點擊App的時候請查看下圖,如果還不能用請繼續往下看

首先-在AppStore的數據不充足的情況下App分析中列表中的App數據是無法點擊的,但是這個情況你又需要添加額外的渠道下載鏈接,請繼續往下看

並且打開鏈接 https://help.apple.com/app-store-connect/#/itcfa7936330 -點擊上圖中的第三步-生成營銷活動鏈接-PS:請確認你當前處於登錄狀態-

然後你會打開讓下圖頁面-其中「App」項是可以點擊選擇的(PS:如果當前賬號又多個App),「Apple ID」 和「提供商 ID」是不可選的,「營銷活動」 你可以填入你的渠道號-有40個字元的限制,中文請轉碼之後填入,填完之後複製 「營銷活動鏈接」中的鏈接就OK了

PS :在您生成營銷活動鏈接後,請確保將其複製。若要查看營銷活動,您至少需要 5 個不同的 Apple ID 安裝了您的 App。並且App分析的數據有延遲,比如今天蘋果發布公告:2018/06/24的數據會延遲發布。我們將在其可用時儘快發布。


在 iTunes Connect 中提交 app 和元數據之後,您隨即就會進入審核流程。請謹記以下幾點:

時間安排:App Review 團隊將儘快檢查您的 app,而且我們一直在力求縮短審核時間。進一步了解 App Review。

狀態更新:App 的當前狀態會反映在 iTunes Connect 中,所以請多留意此處。

加急請求:如果您遇到了嚴重的時間問題,可以申請加急審核 (英文)。請僅在您真的需要加快審核時才提出申請,以便其他開發者的加急請求不受影響。如果我們發現您濫用此系統,從此以後我們可能都會拒絕您的申請。

發布日期:如果您設定在未來某個日期發布 app,在此日期到來之前,即使這個 app 已獲得 App Review 團隊的批准,也不會顯示在 App Store 上。請注意,您的 app 可能需要長達 24 小時才能顯示在所有選定的商店中。

拒絕:我們的目標是公平、持續地遵循這些準則,但是人無完人。如果您的 app 被拒絕,但您存在疑問,或希望提供其他信息,請使用解決方案中心,以與 App Review 團隊直接溝通。這樣可以幫助您的 app 出現在商店中,也可幫助我們改進 App Review 流程,並在我們的政策中發現需要闡明的部分。如果您仍對結果不滿意,請提交申訴 (英文)。


iOS開發馬甲包中友盟推送通知-當App沒有啟動時點擊推送會在啟動後崩潰-而在後台運行時不會出現崩潰問題

原本項目使用的是外包公司做的-而且到我們這邊以及第三手了,想來是不會出現APP沒有啟動的情況下點擊推送會崩潰的問題,居然還真給遇到了,因為是沒有啟動的狀態,也沒有辦法列印Log,只能使用iTunes Connect(AppStore Connect)中的分析-或者友盟的第三方分析,因為是測試版本老是去iTunesConnect 去查看崩潰日誌並不是特別方便--所以只能使用友盟移動分析,然後各種折騰,日誌在命令行分析的結果顯示,在一個我以為不會執行代碼中執行了,然後崩潰了-如下圖

而調用這個方法的上級是 applicationDidBecomeActive(復原 比如接電話時) 這個系統方法- 然後在搜索發現

應用程序在啟動時,在調用了 applicationDidFinishLaunching 方法之後也會調用 applicationDidBecomeActive 方法,所以你要確保你的代碼能夠分清復原與啟動,避免出現邏輯上的bug。

還有這個操作?瞬間感動啊! 看了下確實是 邏輯判斷的問題, 我注釋了,重新打AD Hoc包,友盟推送之後發現好了,不崩潰了。。


友盟分享QQ互聯APPID 10進位轉16進位

打開終端 -111476476 替換為你在QQ互聯申請的APPID 輸入#echo ibase=10;obase=16;111476476|bc

集成友盟推送問題-device-token全部失敗

諮詢了友盟的客服-最後一個才給解決問題!

打開友盟文檔 找到關鍵詞 以Ad Hoc方式打包應用

https://developer.umeng.com/docs/66632/detail/66748 打開鏈接一直到滾到中間能找到 以Ad Hoc方式打包應用-按照友盟的教程來, 沒毛病-有毛病你找我!


clang-5.0: error: cannot specify -o when generating multiple output files 問題解決方案

使用第三方應用加固中碰見的問題,也就是代碼混淆,被這個問題墨跡了兩個小時---網上找了各種答案都不對--無意中在GitHub中的issues看見了答案

禁用-Enable Indexing while building

將如圖 -Default 修改為NO-- 默認是 Default


Objective-C 給字元串MD5加密

引入 #import <CommonCrypto/CommonCrypto.h> 文件

const char *cStr = [str UTF8String];

unsigned char result[16];
CC_MD5(cStr,(CC_LONG)strlen(cStr),result);

NSString *md5 = [[NSString stringWithFormat:@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
result[0],result[1],result[2],result[3],result[4],result[5],result[6],result[7],
result[8],result[9],result[10],result[11],result[12],result[13],result[14],result[15]] copy];


關於iOS應用程序如何跳轉到AppStore應用評分頁的實現方法!

SKStoreProductViewController *storeProductViewContorller = [[SKStoreProductViewController alloc] init];
storeProductViewContorller.delegate = self;
[storeProductViewContorller loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier : @"1167301342"} completionBlock:^(BOOL result, NSError *error) {

/**
* 實現代理 SKStoreProductViewControllerDelegate
*/
// 1167301342 為App id // 在itunesconnect.apple.com 查看

// 推出 App Store
[self presentViewController:storeProductViewContorller animated:YES completion:^{

}];

}];


關於iOS應用實現UIWebVIew中的鏈接點擊 跳轉到瀏覽器Safari和直接調用Safari瀏覽器的實現方法!

需要實現UIWebVIew的代理 UIwebViewDelegate

(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(nonnull NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSURL *requesURL = [request URL];
if (([[requesURL scheme] isEqualToString:@"http"] || [[requesURL scheme] isEqualToString:@"https"] || [[requesURL scheme] isEqualToString:@"mailto"]) && (navigationType == UIWebViewNavigationTypeLinkClicked)) {
return ![[UIApplication sharedApplication] openURL:requesURL];
}
return YES;
}

實現iOS應用直接調用Safari瀏覽器的實現方法!

NSURL *url = [[NSURL alloc] initWithString:@"http://www.it9188.com"];
[[UIApplication sharedApplication] openURL:url];


關於iOS應用程序中如何去掉NSString中的特殊字元! 如HTML的 <b></b> 標籤!

NSURL *url = [[NSURL alloc] initWithString:@"http://www.it9188.com"];
[[UIApplication sharedApplication] openURL:url];


關於iOS應用程序開發工程中如何判斷當前App是第一次運行

下一篇文章將會給大家繼續分享「iOS AppStore 套殼開發上架過程-開發小問題(二)」如果幫助到大家,歡迎點個贊收藏哦~如有問題請在下方評論,作者會第一時間回復你

推薦閱讀:

TAG:iOS | 科技 | AppStore |