iOS 備忘錄如何分享到App(Share Extension)

踩坑記錄(檢索關(guān)鍵字:怎么分享備忘錄,備忘錄內(nèi)容分享到app,iOS 備忘錄開發(fā))
參考資料:

入門參考資料:

基本資料(了解什么是Share Extension):
http://www.itdecent.cn/p/863ce6729455
錯(cuò)誤集錦:
1:如何讓App Extension訪問(wèn)Cocoapods引入的第三方庫(kù):
https://blog.csdn.net/tounaobun/article/details/42218201

2:編譯報(bào)錯(cuò)(Cycle details)
https://stackoverflow.com/questions/50709330/cycle-inside-building-could-produce-unreliable-results-xcode-10-error/51052891

參考答案
1:In Xcode, go to File->Project/Workspace settings.
2:Change the build system to Legacy Build system.

3:第三庫(kù)報(bào)錯(cuò)

在TARGETS找到Extension,在對(duì)應(yīng)的General找到Linked Frameworks and Libraries 導(dǎo)入對(duì)應(yīng)的第三方庫(kù)

4:備忘錄沒(méi)有出現(xiàn)自己的App
參考資料:
https://developer.apple.com/library/archive/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html
https://stackoverflow.com/questions/29546283/ios-share-extension-how-to-support-wav-files

如果對(duì)于圖片,音視頻,網(wǎng)頁(yè)等這種單獨(dú)文件分享可以根據(jù)蘋果給出的參考代碼來(lái)支付分享到自己的App,可以參考
文章最開始的鏈接,里面有相應(yīng)的Info.plist截圖,這里只討論備忘錄的分享
在最開始的時(shí)候看了很多開發(fā)文檔和資料,沒(méi)找到如何讓備忘錄也出現(xiàn)自己的App.這時(shí)候就想備忘錄是蘋果的應(yīng)用,那應(yīng)該是data類的,經(jīng)測(cè)試確實(shí)可以在備忘錄分享出現(xiàn)自己的App.
NSExtensionActivationRule修改為String,復(fù)制下面的代碼

SUBQUERY (
    extensionItems,
    $extensionItem,
    SUBQUERY (
        $extensionItem.attachments,
        $attachment,
        ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.data"
    ).@count == $extensionItem.attachments.@count
).@count >= 1

說(shuō)明:這段代碼是參考蘋果文檔的代碼,具體請(qǐng)參考下面蘋果文檔:

頁(yè)面檢索關(guān)鍵詞:complex or more specific filtering,

https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW1

5:延伸資料:
以下是蘋果給出的TypeIdentifiers:
https://developer.apple.com/library/archive/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html
如果想要在多個(gè)文件格式中分享出現(xiàn)自己的App,可以參考蘋果給的TypeIdentifiers再按照蘋果給的過(guò)濾語(yǔ)法拼寫即可

6:一些錯(cuò)誤解決辦法

1:上傳到App Store的時(shí)候要把Share Extension的Version,Build設(shè)置跟主App一致
2:上傳App Store出錯(cuò)誤:ERROR ITMS-90206:"Invalid Bundle. The bundle at 'XXX.appex' contains disallowed file 'Frameworks'."
解決辦法:
TARGETS->主App->Build Settings->搜索Always Embed Swfit Standard Librarise 設(shè)置為YES
TARGETS->Share Extension->Build Settings->搜索Always Embed Swfit Standard Librarise 設(shè)置為NO
實(shí)在不行,可以去Stack Overflow搜索此問(wèn)題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 由于蘋果官網(wǎng)不斷更新的原因。有些鏈接地址可能已經(jīng)失效了。 蘋果商標(biāo)列表https://www.apple.com/...
    微笑中的你閱讀 1,829評(píng)論 0 0
  • 由于蘋果官網(wǎng)不斷更新的原因。有些鏈接地址可能已經(jīng)失效了。 蘋果商標(biāo)列表https://www.apple.com/...
    bangbang大首領(lǐng)閱讀 1,955評(píng)論 0 2
  • # Awesome Python [![Awesome](https://cdn.rawgit.com/sindr...
    emily_007閱讀 2,322評(píng)論 0 3
  • 放一篇之前一直在私人筆記里的參考,也就是個(gè)參考手冊(cè),用到的時(shí)候回來(lái)看看。 ‘$’ 作為引用關(guān)鍵字 ex:$PROJ...
    SMThree閱讀 4,145評(píng)論 0 13
  • 在系統(tǒng)維護(hù)的過(guò)程中,隨時(shí)可能有需要查看 CPU 使用率,并根據(jù)相應(yīng)信息分析系統(tǒng)狀況的需要。在 CentOS 中,可...
    yichen_china閱讀 7,188評(píng)論 0 1

友情鏈接更多精彩內(nèi)容