相关疑难解决方法(0)

如何导出"胖"Cocoa Touch Framework(用于模拟器和设备)?

使用Xcode 6,我们可以创建自己的Dynamic Cocoa Frameworks.

在此输入图像描述

因为:

  • 模拟器仍然使用32-bit

  • 从2015年6月1日开始,提交到App Store的应用更新必须包含64位支持,并使用iOS 8 SDK(developer.apple.com)构建

我们必须使胖库在设备和模拟器上运行项目.即支持Frameworks中的32位和64位.

但我没有找到任何手册,如何导出通用胖框架以便将来与其他项目集成(并与某人共享此库).

以下是我重现的步骤:

  1. 设置ONLY_ACTIVE_ARCH=NOBuild Settings

    在此输入图像描述

  2. 支持添加armv7 armv7s arm64 i386 x86_64Architectures(肯定)

在此输入图像描述

  1. 构建框架并在Finder中打开它:

在此输入图像描述 在此输入图像描述

  1. 将此框架添加到另一个项目中

实际结果:

但最终我仍然遇到在设备和模拟器上同时使用此框架运行项目的问题.

  • 如果我从Debug-iphoneos文件夹中获取框架- 它适用于设备并在模拟器上获取错误:ld: symbol(s) not found for architecture i386

    xcrun lipo -info CoreActionSheetPicker
    
    Run Code Online (Sandbox Code Playgroud)

    胖文件中的体系结构:CoreActionSheetPicker是:armv7 armv7s arm64

  • 如果我从Debug-iphonesimulator文件夹中获取框架- 它适用于模拟器.我在设备上有错误:ld: symbol(s) not found for architecture arm64

    xcrun lipo -info CoreActionSheetPicker
    
    Run Code Online (Sandbox Code Playgroud)

    胖文件中的体系结构:CoreActionSheetPicker是:i386 x86_64

那么,如何创建一个适用于设备和模拟器的动态框架?

这个答案与Xcode 6 iOS …

xcode cocoa-touch frameworks ios ios-universal-framework

107
推荐指数
3
解决办法
3万
查看次数

Xcode 6 iOS创建Cocoa Touch框架 - 架构问题

我正在尝试为iOS应用程序制作动态框架.感谢新版本的Xcode(6),我们可以在创建新项目时选择Cocoa Touch Framework,不再需要添加聚合目标,运行脚本等等.构建框架时我没有问题.但是当我尝试在iOS应用程序中使用它时,我遇到了一些架构问题.

ld: warning: ignoring file /Library/Frameworks/MyFramework.framework/MyFramework, file was built for x86_64 which is not the architecture being linked (arm64): /Library/Frameworks/MyFramework.framework/MyFramework
Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_MyFrameworkWebService", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

ld: warning: ignoring file /Library/Frameworks/MyFramework.framework/MyFramework, file was built for x86_64 which is not the architecture being linked (armv7): /Library/Frameworks/MyFramework.framework/MyFramework
Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_MyFrameworkWebService", referenced …
Run Code Online (Sandbox Code Playgroud)

cocoa dynamic-library ios-universal-framework xcode6 ios8

49
推荐指数
6
解决办法
5万
查看次数

在Xcode 10中分发Enterprise时代码签名框架失败

嗨,大家好我正在尝试为Enterprise分发应用程序,并继续收到此错误(选择配置文件后):

在此输入图像描述

挖掘日志揭示了这一点:

2018-09-21 04:14:07 +0000 Running /usr/bin/codesign '-vvv' '--force' '--sign' '2D44419C65EF2B7301F0646133CC88C2C6A3E697' '--entitlements' '/var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/entitlementsycy5yP' '--preserve-metadata=identifier,flags,runtime' '/var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/Root/Payload/Fleet UAT.app/Frameworks/AppAuth.framework' 2018-09-21 04:14:07 +0000 /var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/Root/Payload/Fleet UAT.app/Frameworks/AppAuth.framework: replacing existing signature 2018-09-21 04:14:07 +0000 /var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/Root/Payload/Fleet UAT.app/Frameworks/AppAuth.framework: code object is not signed at all 2018-09-21 04:14:07 +0000 /usr/bin/codesign exited with 1

类似的问题发生在项目使用的所有框架上.使用Carthage添加了这些框架.

这在我升级到Xcode 10和Carthage 0.30.1之后开始发生(之前我使用的是0.16.x).

xcode ios

9
推荐指数
1
解决办法
6475
查看次数

"无法检查应用程序包"Xcode

出于某种原因,我在xcode(第三方SDK)中导入了一些文件,即使应用程序构建成功,我也会收到此错误:Xcode错误消息:"无法检查应用程序包".这是什么意思?该应用程序不在真实设备上运行,但适用于模拟器IOS ...

xcode ios

7
推荐指数
3
解决办法
8988
查看次数