2017-04-15 175 views
0

我有一个ios应用程序和它的照片扩展名。我有一些主应用程序和扩展需要的动态框架。但我正在努力使主动应用程序和共享应用程序都可以使用动态框架,并且可以将应用程序上传到iTunes连接。我的应用程序的最终IPA的包装结构看起来是这样的:在ios主应用程序和扩展之间共享动态框架

MyApp.app/Frameworks - 我复制所有必要的动态框架,在该文件中的文件复制部分建设阶段

MyApp的.app/Plugins/MyAppPhotoExtension.appex/ - 包含其所需的扩展程序和其他资源的可执行文件。

我尝试以下方法,以使其可用于扩展所需的动态框架:

  1. 创建一个文件夹MyApp.app/Plugins/MyAppPhotoExtension.appex/Frameworks和在这里创建符号链接存在的动态框架在MyApp.app/Frameworks的主应用程序中。

这工作正常,扩展能够在运行时找到框架。但在上传这个IPA到iTunes,我获得以下错误:

ERROR ITMS-90035: “无效签名的密封资源缺失或无效

ERROR ITMS-90206:” 无效的包。在 'MyApp.app/PlugIns/MyAppPhotoExtension.appex' 束包含不允许文件 '框架'“。

  • 创建一个文件夹MyApp.app/Plugins/MyAppPhotoExtension.appex/Frameworks和。副本这里所需的动态框架所以有国际音标里面的一些动态框架的2个副本,但现在我得到上传IPA到iTunes以下错误:
  • ERROR ITMS-90685:“CFBundleIdentifier碰撞。存在与iPhone应用程序“MyApp.app”下的CFBundleIdentifier值“[一些值]”一个以上的束“

    ERROR ITMS-90205:”无效包。在 'MyApp.app/PlugIns/MyAppPhotoExtension.appex' 束包含不允许嵌套束 “

    ERROR ITMS-90206:” 无效包。 'MyApp.app/PlugIns/MyAppPhotoExtension.appex'中的包包含不允许的文件'Frameworks'。“

    任何人都可以让我知道在主应用程序及其扩展之间共享动态框架的正确方式是什么?能够在运行时找到所需的动态框架 有没有人做过这件事,并成功将应用上传到iTunes?

    回答

    0

    如果你想在你的应用和扩展中使用相同的框架,你应该创建一个新的目标在您的Podfile中,并在其中放置您的框架..在您项目的同一个pod文件中

    target 'Name Of Your Extension' do 
         pod 'Alamofire' 
    end 
    
    相关问题