我有一个 React Native (0.59) 应用程序,它使用一个(Swagger 生成的)SDK,它接受Blob文件上传的对象。虽然有从远程资源创建 blob 的资源(例如使用 fetch),但我找不到任何关于动态创建 blob 的资源。例如,我有一个字符串(常规 JS 字符串),我需要将该字符串作为文本文件上传到服务器。我还会有来自文件系统的其他文件引用,我也需要上传这些文件。
如何从 React Native 中的任何类型的任意数据创建 Blob?
我正在学习redux-saga,我正在尝试将它集成到一个使用 openapi-generator 生成的 API 的项目中,该 API 产生如下输出:
async loginUser(body: Login): Promise<LoginResponse> {
debugger;
const response = await this.loginUserRaw({ body: body });
return await response.value();
}
Run Code Online (Sandbox Code Playgroud)
并且loginUserRaw是一个执行实际登录的函数。然后,我有以下传奇:
function* login(action:Login) {
try{
const response = yield call(User.loginUser, action);
yield result(LOGIN_SUCCESS, response)
}catch(e){
yield result(LOGIN_FAILURE, e)
}
}
Run Code Online (Sandbox Code Playgroud)
当它运行时,我的 API 方法await this.loginUserRaw({ body: body });行中出现错误:
TypeError: Cannot read property 'loginUserRaw' of null
我调试它并看到它this是空的。当我在传奇中显式绑定函数时:
const response = yield call(User.loginUser.bind(User), action);
它有效,但我不想每次调用函数时都绑定它。如何在不显式绑定函数的情况下让 saga 工作?(我无法更改生成的代码也无法删除this)
最近我将我的 macOS 更新为13.0 (22A380)Android Studio 并更新为2021.3.1.17[最新到这个时间]。当我尝试打开应用程序时,我不断收到崩溃消息。我尝试过的事情:这是我得到的图像和日志。
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Process: studio [1721]
Path: /Applications/Android Studio.app/Contents/MacOS/studio
Identifier: com.google.android.studio
Version: 2021.3 (AI-213.7172.25.2113.9123335)
Code Type: X86-64 (Native)
Parent Process: launchd [1]
User ID: 501
Date/Time: 2022-11-07 11:08:11.5742 +0330
OS Version: macOS 13.0 (22A380)
Report Version: 12
Bridge OS Version: 7.0 (20P411)
Anonymous UUID: 8AB98A6D-E4F5-28A2-20AE-42E6FA35B587
Time Awake Since Boot: 1800 seconds
System Integrity Protection: enabled
Crashed Thread: 3
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000 …Run Code Online (Sandbox Code Playgroud) 我正在创建一个网站,在我加载静态容器页面后,我正在执行ajax请求以加载一些动态内容.基本上,我需要从服务器传递一个整数数组到页面,我正在使用jQuery来加载数据.我在具有已知名称的标签内写入int,并使用eval从中读取数据.这是一个示例标记(从ajax返回):
<span runat="server" class="hidden" id="PhotoList" />
使用codebhind list.ForEach(p => { sb.Append(p.ID.ToString() + ","); } );,其中sb是一个StringBuilder,因此服务器作为结果返回如下内容:
<span runat="server" class="hidden" id="PhotoList">1,4,5,42,9</span>
我photoList在javascript中声明了一个变量,然后我调用了var scriptToEval = "photoList = [" + $("#PhotoList").html() + "];";
eval(scriptToEval);
我不是Javascript的主人,我只是想确保这是安全的,因为有很多讨论是否 eval安全与否.我认为这是安全的(我粘贴的是我使用eval的所有代码),但我可能错过了一点,所以专业人士的意见对我很重要.我知道为什么他们说eval是危险的,因为它能够解释任何恶意与否的代码,但在这里,我认为这种方式根本无法妥协,因为来自服务器的响应完全在我的控制之下.另一种选择是对变量进行另一个ajax调用并直接加载它们而不从返回的数组中获取ajax,但是它会总结为两个调用,(我已经进行了加载调用,因为它确实从服务器加载了一些HTML内容)但是这样,即使有点hacky(将变量放入隐藏的HTML标记中),看起来也很方便(毕竟ASP.NET也为viewstate做了这个!).
无论如何,我的重点是eval,这是非常安全的,还是应该考虑一些安全性?请高手朋友.
我正在尝试UIDocumentInteractionController在我的应用上显示一个.一切都在iPhone上完美运行,但iPad上什么也没发生.这是我的代码:
interactionController = [UIDocumentInteractionController interactionControllerWithURL:imageFile];
interactionController.UTI = @"com.instagram.photo";
interactionController.annotation = [NSDictionary dictionaryWithObject:[self commentForInstagram] forKey:@"InstagramCaption"];
[interactionController presentOpenInMenuFromRect:self.view.frame inView:self.view animated:YES];
Run Code Online (Sandbox Code Playgroud)
interactionController是对实例的强引用,并且imageFile存在.在iPhone上,它会显示"打开方式..."对话框并且Instagram存在.在iPad上,上述代码运行时绝对没有任何反应.是的,我确实安装了Instagram并在我的iPad上工作.
可能是代码执行时没有发生任何事情的原因?self.view并且self.view.frame是有效的对象(在调试时测试).
谢谢,可以.
有谁知道为什么Xcode(4.6.3)会在复制资源阶段启动TiffUtil,而不是仅仅使用CpResource将PNG文件复制到bundle.我现在最终得到了一些正常的PNG图标和启动画面以及一些tiff.我检查了图像,它们似乎没有任何问题.
谢谢Daniel Dekkers

我正在尝试将AdMob的插页式广告整合到我的iOS中,但即使一切似乎都没问题,我也没有获得任何插页式委托方法(包括失败).我已将广告设置为插页式广告,并且我的广告单元ID正确无误.这是我的代码:
GADInterstitial *interstitialAd = [[GADInterstitial alloc] init];
interstitialAd.adUnitID = AD_UNIT_ID;
interstitialAd.delegate = self;
GADRequest *adRequest = [GADRequest request];
#if DEBUG
adRequest.testDevices = @[ @"9ab869b041b0e1d5a362be13c99eb69a" ];
#endif
[interstitialAd loadRequest:adRequest];
Run Code Online (Sandbox Code Playgroud)
我在上面的代码中有一个断点,它正在解雇.然后,在同一个类中,我实现了委托方法:
-(void)interstitial:(GADInterstitial *)ad didFailToReceiveAdWithError:(GADRequestError *)error{
loadedAd = nil;
}
-(void)interstitialDidReceiveAd:(GADInterstitial *)ad{
loadedAd = ad;
[self presentAdIfAppropriate];
}
Run Code Online (Sandbox Code Playgroud)
但是,即使在等待几分钟之后,也没有调用这些方法.我的设备上有稳定的互联网连接,AdMob网站的连接超时设置为4秒.为什么我的广告没有加载?
我试图设计类似于在Tinder和Twitter自己的个人资料视图中看到的东西.用户自己的个人资料图片背后的Tinder模糊背景,向下滑动时视图,视图逐渐消失,最终到达用户的个人资料视图(在Twitter上,它开始变得尖锐,并且随着变大而变得模糊,导致Twitter帐号选择视图).我最近看到了对许多应用程序的特殊影响,我也希望将它包含在我的应用程序中.这种效果/手势有名字吗?是否有一种简单的方法可以使用标准表格视图来实现它,还是应该开始对其进行硬编码?
我试图用一个栏显示一个确定的进度对话框,但是,我无法让它工作。这是我创建它的方法:
dialog = ProgressDialog.show(from, "Posting...", "Uploading...");
然后在 UI 线程上(在 内调用runOnUiThread),我调用:
dialog.setIndeterminate(false);
但是,当我在它之后进行检查时(在设置后立即进行检查,以及在上传文件时独立调用的进行中处理程序)时,它的isIndeterminate()方法 returns true。我也尝试过:
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
但它也没有改变任何东西(仍然,不确定的指示器正在旋转而不是进度条)。我已将其最大值设置为 100,并且正在使用 0 到 100 之间的完全有效值调用我的进度处理程序,并且我正在 UI 线程上调用所有对话框方法,但没有任何变化。我究竟做错了什么?
我正在处理我的应用程序,没有更改任何设置或窗格,我尝试在大约两周后归档构建,但它失败了.然后我尝试调试构建(正常的Cmd + R),但它失败并出现错误:
ld: library not found for -lPods-AFNetworking
我已经尝试过pod install很多次了.我已经尝试删除与pods相关的所有内容(而不是Podfile本身)并再次创建pod install/ pod update.徒劳无功.
这是我的Podfile:
platform :ios, '8.0'
link_with 'MY_APP_NAME_REDACTED'
pod 'Parse', '1.7.4'
pod 'ParseFacebookUtils', '1.7.4'
pod 'ParseCrashReporting', '1.7.4'
pod 'GPUImage'
pod 'AFNetworking'
pod 'IntentKit'
inhibit_all_warnings!
Run Code Online (Sandbox Code Playgroud)
我没碰过它,直到今天早上一直工作.现在,在我尝试过的所有内容之后,经过一次干净的重新安装,我得到了:
Lexical or preprocessor issue: 'Parse/Parse.h' file not found 在我的应用程序扩展中(我的应用程序本身似乎没有问题).
我不知道构建系统如何能够完全没有任何东西有效地"自毁"自己.我没有做任何pod更新,pod安装,我没有触及Podfile,我没有更改我的项目中的任何配置设置等.我只是编写代码,当我尝试存档我的项目发送给beta测试人员它打破了.
如果我更改我的podfile并将我的共享扩展名添加到link_with:
platform :ios, '8.0'
link_with 'MY_APP_NAME_REDACTED', 'Share Extension'
pod 'Parse', '1.7.4'
pod 'ParseFacebookUtils', '1.7.4'
pod 'ParseCrashReporting', '1.7.4'
pod 'GPUImage'
pod 'AFNetworking'
pod 'IntentKit'
inhibit_all_warnings!
Run Code Online (Sandbox Code Playgroud)
然后我收到一些警告和错误.
Pods …Run Code Online (Sandbox Code Playgroud) ios ×5
javascript ×3
ios7 ×2
xcode ×2
admob ×1
ajax ×1
android ×1
android-4.0-ice-cream-sandwich ×1
blob ×1
bundle ×1
closures ×1
cocoapods ×1
copy ×1
html ×1
ios6 ×1
ipad ×1
macos ×1
react-native ×1
redux-saga ×1
resources ×1
security ×1
typescript ×1
uitableview ×1
xcode6 ×1