相关疑难解决方法(0)

架构armv7的未定义符号

这个问题一直让我发疯,我无法解决如何修复它...

    Undefined symbols for architecture armv7:
  "_deflateEnd", referenced from:
      -[ASIDataCompressor closeStream] in ASIDataCompressor.o
  "_OBJC_CLASS_$_ASIDataDecompressor", referenced from:
      objc-class-ref in ASIHTTPRequest.o
  "_deflate", referenced from:
      -[ASIDataCompressor compressBytes:length:error:shouldFinish:] in ASIDataCompressor.o
  "_deflateInit2_", referenced from:
      -[ASIDataCompressor setupStream] in ASIDataCompressor.o
ld: symbol(s) not found for architecture armv7
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1
Run Code Online (Sandbox Code Playgroud)

我认为这与:

ld: symbol(s) not found for architecture armv7
Run Code Online (Sandbox Code Playgroud)

但我补充道:libz.1.2.3.dylib它没有帮助,任何人都有任何想法?

armv7 ios

304
推荐指数
11
解决办法
35万
查看次数

Xcode的构建文件夹在哪里?

在Xcode 4之前,构建曾经在我的项目的根文件夹中创建.我再也找不到了.

我在哪里可以找到构建文件夹?

xcode build

151
推荐指数
6
解决办法
16万
查看次数

Xcode构建设置中的"架构"和"有效架构"之间有什么区别?

它们的含义是什么,我可以将它们设置为不同的值吗?

xcode ios xcode4.5

111
推荐指数
2
解决办法
4万
查看次数

在DEBUG模式下启用和禁用NSLog

我想在调试时启用NSLog,否则禁用它.一个非常简单的事情是:

#ifdef DEBUG
NSLog(@"My log");
#endif
Run Code Online (Sandbox Code Playgroud)

但所有这一切#ifdef并且#endif是无聊的...... :(所以我尝试其他的东西:( .pch是放的好地方)

#ifdef DEBUG
#   define NSLog(text) NSLog(text);
#else 
#   define NSLog(text) 
#endif
Run Code Online (Sandbox Code Playgroud)

这项工作非常好(不是递归的).但问题是NSLog有无限的论据.

void NSLog(NSString *format, ...)
Run Code Online (Sandbox Code Playgroud)

我如何解决这个问题才能在预处理器模式下工作?

- 编辑 -

此代码使您的NSLog更好:

#ifdef DEBUG
    #define NSLog(FORMAT, ...) fprintf(stderr,"%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
    #define NSLog(...)
#endif
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c nslog

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

Xcode 6 + iOS 8 SDK,但在iOS 7上部署(UIWebKit和WKWebKit)

我们正在iOS 8 SDK上使用Xcode 6 beta 5 + Swift创建一个应用程序.我们也想部署到iOS 7.那可能吗?当我们将项目的部署目标设置为7.0时,我们得到如下编译时错误:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_WKPreferences", referenced from:
      __TMaCSo13WKPreferences in WebViewController.o
  "_OBJC_CLASS_$_WKWebView", referenced from:
      __TMaCSo9WKWebView in WebViewController.o
  "_OBJC_CLASS_$_WKWebViewConfiguration", referenced from:
      __TMaCSo22WKWebViewConfiguration in WebViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

我相信这是因为我们正在使用WKWebKit,仅由iOS 8+支持.我们可以使用UIWebKitiOS 7但WKWebKit适用于iOS 8.我们如何定义它?

我们的类定义看起来像这样......

import WebKit

class WebViewController: UIViewController, WKNavigationDelegate {
   ...
}
Run Code Online (Sandbox Code Playgroud)

它被称为:

        let mainStoryboard = UIStoryboard(name: "Main", bundle: …
Run Code Online (Sandbox Code Playgroud)

xcode ios ios7 swift ios8

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

iOS应用安全最佳实践(API密钥,常量,WS URL,凭据)

在iOS App中添加额外安全性的最佳做法是什么,因此攻击者/黑客无法在代码中轻松找到安全私钥,常量字符串.

PS:我发现了一些其他相关的问题,这些问题已得到部分解答或遗漏了这个问题的某些方面,所以我在下面添加了一些详细的问题和一些调查结果,这样任何人都可以在以后从这个帖子中获益.

任何应用程序的100%安全性是不可能的,但我们可以尝试通过实现更高的安全性来尽可能地使攻击/破解iOS应用程序,以便无法轻松破解/攻击应用程序.

以下是一些应该更安全的数据

  • 所有用户凭据(用户名,密码等)
  • API密钥,私钥,令牌,WebService URL/EndPoints等(常量/硬编码变量)
  • WebService请求,响应(网络层)

我已经在KeyChain上存储了所有用户凭据,

1.是否有任何加密.ipa文件的方法,因此iOS二进制应用程序的反编译/逆向工程变得更难?

.

2.如何存储任何Constant HardCoded API Key/Token,即使应用程序被破解者成功反编译/破解; Constant API密钥/令牌应该很难检索.(假设我们已经对密钥进行了编码/加密,我们在使用前每次都对其进行解码)

以下是我目前的一些发现,但我不确定哪种方法更好,或者如果有任何其他标准方法,那么请提出建议:

  • 在加密/编码后存储所有硬编码常量API密钥,当需要时,必须按需解密/解码.
  • 将机密常量变量存储为HEX /哈希值,并且不会直接在常量中存储任何纯文本.
  • 困惑
  • main(int argc, char * argv[])如果有人试图使用一些反编译/调试工具调试它,则添加以下代码行以终止应用程序.(不确定Apple是否会因此而拒绝该应用)

    disable_gdb();

期待任何建议或最佳实践,以使iOS App更安全.

security encryption gdb decompiling ios

8
推荐指数
0
解决办法
1938
查看次数

体系结构 x86_64 的未定义符号:“_OBJC_CLASS_$_RCTImageLoader”

经过大量测试,我的应用程序无法在iOS上运行。

我有这个错误:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_RCTImageLoader", referenced from:
     objc-class-ref in libRCTImageResizer.a(RCTImageResizer.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

我用 :

react: 16.12.0
react-native: 0.60.6
Run Code Online (Sandbox Code Playgroud)

xcode ios react-native

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