标签: bitcode

使用bitcode模式在iOS中编译FFMPEG

我编译了支持iOS 7和8的FFMPEG库,但是自从最近发布iOS 9以来,已经发布了一个名为bitcode模式的新功能,作为默认设置,此设置已设置为NO.

但如果我将其设置为是,则会执行以下错误,

libavdevice.a(avfoundation.o)'不包含bitcode.您必须在启用bitcode(Xcode设置ENABLE_BITCODE)的情况下重建它,从供应商处获取更新的库,或禁用此目标的bitcode.对于架构arm64

有没有办法编译在bitcode启用模式下支持FFMpeg的FFMPEG

这是我使用的构建脚本

#!/bin/sh

# directories
SOURCE="ffmpeg-2.6.2"
FAT="FFmpeg-iOS"

SCRATCH="scratch"
# must be an absolute path
THIN=`pwd`/"thin"

# absolute path to x264 library
#X264=`pwd`/fat-x264

#FDK_AAC=`pwd`/fdk-aac/fdk-aac-ios

CONFIGURE_FLAGS="--enable-cross-compile --disable-debug --disable-programs \
                 --disable-doc --enable-pic"

if [ "$X264" ]
then
    CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-gpl --enable-libx264"
fi

if [ "$FDK_AAC" ]
then
    CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-libfdk-aac"
fi

# avresample
#CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-avresample"

ARCHS="arm64 armv7 x86_64 i386"

COMPILE="y"
LIPO="y"

DEPLOYMENT_TARGET="6.0"

if [ "$*" ]
then
    if [ "$*" = "lipo" ]
    then
        # skip compile
        COMPILE=
    else
        ARCHS="$*" …
Run Code Online (Sandbox Code Playgroud)

iphone ffmpeg ios ios9 bitcode

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

iOS bitcode - 安全问题

我们正在在线分发iOS软件模块.因为,Apple正在倡导bitcode甚至强制某些设备上的应用程序(watchOS/tvOS) - 迫使我们用bitcode提供这个软件模块(静态库).

关注的是bitcode如何安全地从任何人进行逆向工程和反编译(如java字节码)以及如何防范它?任何人都可以轻松地从网站下载库并从中提取bitcode(IR)并进行反编译.这里有一些有价值的信息

https://lowlevelbits.org/bitcode-demystified/

Bitcode可能不会关注应用程序,因为苹果会剥离它,但肯定似乎是静态库的一个问题.

任何见解?

xcode llvm ios bitcode

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

如何使 LLVM Opt 工具报告每个优化 -O1、-O2 等成功使用的分析通道?

我想知道是否可以让 LLVMopt工具详细报告在每个优化级别(如-O1-O2等)期间成功使用了哪些优化通道。

例如,这是文件的简单位码foo.bc

define dso_local i32 @main() #0 {
  %1 = alloca i32, align 4
  %2 = alloca i32, align 4
  %3 = alloca i32, align 4
  store i32 0, i32* %1, align 4
  store i32 1, i32* %2, align 4
  store i32 1, i32* %3, align 4
  %4 = load i32, i32* %2, align 4
  ret i32 %4
}
Run Code Online (Sandbox Code Playgroud)

这是运行后获得的bitcodeopt -O1 foo.bc -o foo.opt.bc

; Function Attrs: noinline norecurse nounwind …
Run Code Online (Sandbox Code Playgroud)

optimization llvm llvm-clang llvm-ir bitcode

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

Xcode 7.0.1导致链接器命令失败,退出代码1错误

昨天我将MacBook Pro更新为El Capitan.我有Xcode 6.1更新Xcode不会打开,Xcode 6.1但我Xcode 7.0.1强行下载我不想升级,但我被迫.我用Objective-C创建了我的应用程序.提交给苹果,它目前正在"等待开发者发布".

我想改变一些东西,但现在无处不在,Xcode 7.0.1我得到了一个我从未收到过的错误Xcode 6.1.

 ld: '/Users/markjak/Desktop/Stick Down   copy/Leap Up/LibAdapterIAd- 1.0.0/libAdapterIAd.a(GADMAdapterIAdInterstitial.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see  invocation)
Run Code Online (Sandbox Code Playgroud)

我如何做Xcode 7.0.1要我做的事情?

linker-errors ios xcode7 bitcode

0
推荐指数
1
解决办法
3747
查看次数

启用不在构建选项中的位码

使用 XCode 9.2,我收到 ld 错误:

ld: -bundle 和 -bitcode_bundle(Xcode 设置 ENABLE_BITCODE=YES)不能一起使用

但是,我的构建选项不包含启用位码的任何条目,当我尝试通过搜索栏找到它时,我什么也没找到。

如何设置 ENABLE_BITCODE=NO ?而且,知道为什么它不显示吗?

谢谢。

xcode bitcode

0
推荐指数
1
解决办法
2247
查看次数

启用位代码时生成错误;ld: -bundle 和 -bitcode_bundle (Xcode 设置 ENABLE_BITCODE=YES) 不能一起使用

我有一个 pod 项目,其中包含一个演示 pod 用法的示例。在示例和 Pod 目标上,位码启用设置均设置为 yes。以下是示例的Podfile:

use_frameworks!
platform :ios, '10.0'

target 'MyPod_Example' do
  pod 'MyPod', :path => '../'

  target 'MyPod_Tests' do
    inherit! :search_paths


  end
end
Run Code Online (Sandbox Code Playgroud)

该示例应用程序在模拟器上运行良好,但是当尝试在 iPhone 6S 上运行它时,我收到以下构建错误:

ld:-bundle 和 -bitcode_bundle(Xcode 设置 ENABLE_BITCODE=YES)不能一起使用 clang:错误:链接器命令失败,退出代码 1(使用 -v 查看调用)。

我该如何解决?我的另一个项目有相同的 pod,但从其存储库下载 pod 在 iPhone 上运行良好,并且启用了位码。下面显示了可以运行的应用程序的 Podfile 结构:

source '<my pod spec repo>'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'

target 'MyPodTest' do

  use_frameworks!

  # Pods for MyPodTest
    pod 'MyPod'

  target 'MyPodTestTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'MyPodTestUITests' …
Run Code Online (Sandbox Code Playgroud)

xcode ios bitcode

0
推荐指数
1
解决办法
576
查看次数

iOS XMPP Framwork - libidn.a不包含bitcode

XMPP框架错误

ld:'xmppFrameWork/Vendor/libidn/libidn.a(stringprep.o)'不包含bitcode.您必须在启用bitcode(Xcode设置ENABLE_BITCODE)的情况下重建它,从供应商处获取更新的库,或禁用此目标的bitcode.对于架构arm64

注意:仅在iPhone设备中运行应用程序时出错.(它在模拟器中工作).

xmpp ios xmppframework bitcode

-2
推荐指数
1
解决办法
284
查看次数